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 diff --git a/docs/docs/develop/contributing.md b/docs/docs/develop/contributing.md index 88248dd6a5..4563487a04 100644 --- a/docs/docs/develop/contributing.md +++ b/docs/docs/develop/contributing.md @@ -54,13 +54,23 @@ invoke setup-dev InvenTree roughly follow the [GitLab flow](https://docs.gitlab.com/ee/topics/gitlab_flow.html) branching style, to allow simple management of multiple tagged releases, short-lived branches, and development on the main branch. +There are nominally 5 active branches: +- `master` - The main development branch +- `stable` - The latest stable release +- `l10n` - Translation branch: Source to Crowdin +- `l10_crowdin` - Translation branch: Source from Crowdin +- `y.y.x` - Release branch for the currently supported version (e.g. `0.5.x`) + +All other branches are removed periodically by maintainers or core team members. This includes old release branches. +Do not use them as base for feature development or forks as patches from them might not be accepted without rebasing. + ### Version Numbering InvenTree version numbering follows the [semantic versioning](https://semver.org/) specification. -### Master Branch +### Main Development Branch -The HEAD of the "main" or "master" branch of InvenTree represents the current "latest" state of code development. +The HEAD of the "master" branch of InvenTree represents the current "latest" state of code development. - All feature branches are merged into master - All bug fixes are merged into master @@ -73,7 +83,6 @@ Feature branches should be branched *from* the *master* branch. - One major feature per branch / pull request - Feature pull requests are merged back *into* the master branch -- Features *may* also be merged into a release candidate branch ### Stable Branch @@ -82,17 +91,24 @@ The HEAD of the "stable" branch represents the latest stable release code. - Versioned releases are merged into the "stable" branch - Bug fix branches are made *from* the "stable" branch -#### Release Candidate Branches -- Release candidate branches are made from master, and merged into stable. -- RC branches are targeted at a major/minor version e.g. "0.5" -- When a release candidate branch is merged into *stable*, the release is tagged - -#### Bugfix Branches +### Bugfix Branches - If a bug is discovered in a tagged release version of InvenTree, a "bugfix" or "hotfix" branch should be made *from* that tagged release - When approved, the branch is merged back *into* stable, with an incremented PATCH number (e.g. 0.4.1 -> 0.4.2) - The bugfix *must* also be cherry picked into the *master* branch. +- A bugfix *might* also be backported from *master* to the *stable* branch automatically if marked with the `backport` label. + +### Translation Branches + +Crowdin is used for web-based translation management. The handling of files is fully automated, the `l10n` and `l10_crowdin` branches are used to manage the translation process and are not meant to be touched manually by anyone. + +The translation process is as follows: +1. Commits to `master` trigger CI by GitHub Actions +2. Translation source files are created and automatically pushed to the `l10n` branch - this is the source branch for Crowdin +3. Crowdin picks up on the new source files and makes them available for translation +4. Translations made in Crowdin are automatically pushed back to the `l10_crowdin` branch by Crowdin once they are approved +5. The `l10_crowdin` branch is merged back into `master` by a maintainer periodically ## API versioning diff --git a/src/backend/InvenTree/InvenTree/api_version.py b/src/backend/InvenTree/InvenTree/api_version.py index 921aac7903..f716b9c2b1 100644 --- a/src/backend/InvenTree/InvenTree/api_version.py +++ b/src/backend/InvenTree/InvenTree/api_version.py @@ -1,14 +1,17 @@ """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 = """ -v206 - 2024-06-04 : ### +v207 - 2024-06-04 : ### - Added 2fa urls to the SSO provider API endpoint +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/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/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/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index dc1a967554..2832af3253 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Цялостна наличност" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "Наличност" @@ -7549,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 @@ -7626,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 "Няма наличност" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index b1a73d11a1..86dd4bb5a1 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-06 13:52\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -56,21 +56,21 @@ 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/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 @@ -325,7 +325,7 @@ msgstr "Turečtina" #: InvenTree/locales.py:48 msgid "Ukrainian" -msgstr "" +msgstr "Ukrajinština" #: InvenTree/locales.py:49 msgid "Vietnamese" @@ -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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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:3999 part/models.py:4435 #: 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: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 "" +msgstr "Na objednávku" -#: build/serializers.py:1159 part/serializers.py:1508 +#: 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 "" +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:1534 #: 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 @@ -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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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" @@ -3991,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:1052 part/models.py:3666 +#: 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" @@ -4017,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:514 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 @@ -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:527 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: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 "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: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 @@ -4086,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 @@ -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 @@ -4135,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4950,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 @@ -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 "" @@ -5643,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 @@ -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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5803,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5831,14 +5863,14 @@ 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: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" @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "IPN dílu" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5895,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 "" @@ -5947,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "ID dílu nebo název dílu" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Jedinečná hodnota ID dílu" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Hodnota IPN dílu" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "Vyberte nadřazený díl" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7155,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" @@ -7255,15 +7291,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 "" @@ -7344,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 "" @@ -7416,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" @@ -7509,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 "" @@ -7553,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 @@ -7630,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 "" @@ -8312,15 +8348,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 +8364,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 "" @@ -8601,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 "" @@ -8674,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" @@ -8836,7 +8878,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 +8923,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 +8935,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 +9012,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 +9044,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 "" @@ -9026,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 "" @@ -9126,176 +9174,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 +9496,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 +9516,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 +10251,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 "" @@ -10273,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" @@ -10314,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 "" @@ -10709,7 +10757,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 "" @@ -10773,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 "" @@ -10887,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 "" @@ -10974,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 "" @@ -11363,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 "" @@ -11690,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 "" @@ -11733,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 "" @@ -11920,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 "" @@ -11937,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 "" @@ -12215,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 "" @@ -12296,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 "" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 9938f22e73..287c229d8b 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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 "" @@ -3991,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:1052 part/models.py:3666 +#: 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 "" @@ -4017,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:514 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 @@ -4034,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4086,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 @@ -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 @@ -4135,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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 "" @@ -4948,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 @@ -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 "" @@ -5641,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5801,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5829,14 +5863,14 @@ 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: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 "" @@ -5853,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5893,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 "" @@ -5945,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5972,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7153,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" @@ -7253,15 +7291,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 "" @@ -7342,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 "" @@ -7414,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" @@ -7507,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 "" @@ -7551,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 @@ -7628,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 "" @@ -8310,15 +8348,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 +8364,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 "" @@ -8599,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 "" @@ -8672,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" @@ -8834,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9024,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 "" @@ -9124,176 +9172,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 +9494,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 +9514,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 +10249,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 "" @@ -10271,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 "" @@ -10312,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 "" @@ -10707,7 +10755,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 "" @@ -10771,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 "" @@ -10885,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 "" @@ -10972,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 "" @@ -11361,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 "" @@ -11688,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 "" @@ -11731,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 "" @@ -11918,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 "" @@ -11935,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 "" @@ -12213,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 "" @@ -12294,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 "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 489cd55ac6..1b60bc1bb2 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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" @@ -3991,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:1052 part/models.py:3666 +#: 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" @@ -4017,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:514 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 @@ -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:527 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: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 "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: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 @@ -4086,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 @@ -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 @@ -4135,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" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ 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: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" @@ -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 @@ -4751,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 @@ -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" @@ -4952,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 @@ -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" @@ -5645,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 @@ -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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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 "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" @@ -5805,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimale Kosten" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: 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" @@ -5833,14 +5863,14 @@ 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: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" @@ -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:3992 msgid "Part IPN" msgstr "Teil IPN" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5897,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" @@ -5949,25 +5979,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Gesamtbestand" @@ -5976,1062 +6006,1068 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: 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:3517 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:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "Testschlüssel" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "Vereinfachter Schlüssel zum Test" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "Ist dieser Test aktiviert?" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 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:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:3549 +#: 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:3554 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:3556 +#: 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:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "Checkbox-Parameter können keine Auswahl haben" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "Auswahl muss einzigartig sein" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "Physikalische Einheiten für diesen Parameter" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "Parameter-Beschreibung" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "Ist dieser Parameter eine Checkbox?" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Auswahlmöglichkeiten" - -#: part/models.py:3688 +#: 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:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "Ausgangsteil" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "Wert" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Teilnummer oder Teilname" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Eindeutige Teil-ID" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "IPN-Wert des Teils" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "Stufe" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "Stücklistenebene" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:4068 +#: 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:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:4091 +#: 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:4098 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:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:4126 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:4127 +#: part/models.py:4153 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: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:4133 +#: 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:4138 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:4139 +#: 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:4224 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:4234 part/models.py:4236 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "Stücklisten Ersatzteile" -#: part/models.py:4397 +#: 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:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Übergeordnete Stücklisten Position" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "Ersatzteil" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:4462 +#: 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:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "Ergebnisse" -#: part/serializers.py:186 +#: 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:210 part/serializers.py:228 stock/serializers.py:535 +#: 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Keine Teile ausgewählt" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "Kategorie auswählen" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:455 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:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:490 +#: 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:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:515 +#: 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:531 +#: 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:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "Externes Lager" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 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:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1126 +#: 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:1136 +#: 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:1146 +#: 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:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1354 +#: 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:1361 +#: 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:1364 +#: 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:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1746 +#: 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:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1752 +#: 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:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Bestehende Stückliste löschen" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "Bestehende Stücklisten-Positionen vor dem Importieren entfernen" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Keine Teilspalte angegeben" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Mehrere übereinstimmende Teile gefunden" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Keine passenden Teile gefunden" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "Teil ist nicht als Komponente angelegt" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Menge nicht angegeben" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Ungültige Menge" -#: part/serializers.py:1911 +#: part/serializers.py:1914 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 -#: 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" -#: 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" @@ -7157,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" @@ -7257,15 +7293,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" @@ -7346,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" @@ -7418,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" @@ -7511,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" @@ -7555,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 @@ -7632,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" @@ -8314,15 +8350,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 +8366,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" @@ -8603,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" @@ -8676,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" @@ -8838,7 +8880,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 +8925,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 +8937,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 +9014,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 +9046,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" @@ -9028,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" @@ -9128,176 +9176,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 +9498,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 +9518,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 +10253,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" @@ -10275,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" @@ -10316,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" @@ -10711,7 +10759,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" @@ -10775,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" @@ -10889,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" @@ -10976,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" @@ -11365,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" @@ -11692,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" @@ -11735,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" @@ -11922,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" @@ -11939,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" @@ -12217,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" @@ -12298,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" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 59c26e1611..7cb2e3031d 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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 "Σημειώσεις 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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 "" @@ -3991,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:1052 part/models.py:3666 +#: 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 "" @@ -4017,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:514 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 @@ -4034,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4086,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 @@ -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 @@ -4135,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4950,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 @@ -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 "" @@ -5643,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5803,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5831,14 +5863,14 @@ 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: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 "" @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5895,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 "" @@ -5947,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7155,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" @@ -7255,15 +7291,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 "" @@ -7344,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 "" @@ -7416,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" @@ -7509,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 "" @@ -7553,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 @@ -7630,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 "" @@ -8312,15 +8348,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 +8364,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 "" @@ -8601,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 "" @@ -8674,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" @@ -8836,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9026,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 "" @@ -9126,176 +9172,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 +9494,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 +9514,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 +10249,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 "" @@ -10273,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 "" @@ -10314,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 "" @@ -10709,7 +10755,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 "" @@ -10773,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 "" @@ -10887,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 "" @@ -10974,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 "" @@ -11363,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 "" @@ -11690,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 "" @@ -11733,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 "" @@ -11920,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 "" @@ -11937,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 "" @@ -12215,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 "" @@ -12296,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 "" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index be983506d7..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-05-31 07:08+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,21 +57,21 @@ 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/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: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 +#: 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 @@ -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: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 @@ -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: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: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: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: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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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:4105 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: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: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,8 +973,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" @@ -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: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 @@ -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: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: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: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: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: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: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: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:3973 part/models.py:4409 +#: 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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 "" @@ -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,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: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 @@ -2305,1154 +2316,1154 @@ 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/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: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 @@ -3463,101 +3474,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 @@ -3567,31 +3578,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 "" @@ -3689,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 @@ -3919,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 "" @@ -3930,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:530 +#: 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 @@ -3945,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:540 +#: 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" @@ -3979,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 "" @@ -3990,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:1052 part/models.py:3666 +#: 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 "" @@ -4016,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:514 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 @@ -4033,7 +4069,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4054,26 +4090,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: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 "" -#: 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: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 @@ -4085,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 @@ -4098,7 +4134,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 "" @@ -4118,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 @@ -4134,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 "" @@ -4195,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 @@ -4406,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:836 +#: 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" @@ -4427,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 "" @@ -4506,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:524 -#: 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 @@ -4556,15 +4592,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -4713,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 @@ -4750,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 @@ -4771,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 "" @@ -4947,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 @@ -4960,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" @@ -5022,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 "" @@ -5071,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 "" @@ -5145,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 @@ -5154,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 "" @@ -5640,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 @@ -5736,34 +5772,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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 +5808,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 +5824,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 "" @@ -5800,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5828,14 +5864,14 @@ 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: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 "" @@ -5852,17 +5888,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5892,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 "" @@ -5944,25 +5980,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5971,1062 +6007,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7152,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" @@ -7252,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 "" @@ -7341,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 "" @@ -7413,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" @@ -7506,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 "" @@ -7550,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 @@ -7627,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 "" @@ -8309,15 +8349,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 +8365,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 "" @@ -8598,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 "" @@ -8671,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" @@ -8833,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 "" @@ -8878,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 "" @@ -8890,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 "" @@ -8967,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 "" @@ -8999,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 "" @@ -9023,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 "" @@ -9123,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 "" @@ -9445,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 "" @@ -9465,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 "" @@ -10200,20 +10248,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 "" @@ -10270,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 "" @@ -10311,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 "" @@ -10706,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 "" @@ -10770,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 "" @@ -10884,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 "" @@ -10971,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 "" @@ -11360,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 "" @@ -11687,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 "" @@ -11730,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 "" @@ -11917,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 "" @@ -11934,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 "" @@ -12212,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 "" @@ -12293,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 0a915caca9..112cd6e96d 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" 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..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-05-31 07:08+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,21 +57,21 @@ 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/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: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 +#: 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 @@ -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: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 @@ -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: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: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: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: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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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:4105 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: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: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,8 +973,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" @@ -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: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 @@ -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: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: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: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: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: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: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: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:3973 part/models.py:4409 +#: 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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 "" @@ -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,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: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 @@ -2305,1154 +2316,1154 @@ 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/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: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 @@ -3463,101 +3474,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 @@ -3567,31 +3578,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 "" @@ -3689,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 @@ -3919,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 "" @@ -3930,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:530 +#: 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 @@ -3945,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:540 +#: 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" @@ -3979,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 "" @@ -3990,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:1052 part/models.py:3666 +#: 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 "" @@ -4016,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:514 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 @@ -4033,7 +4069,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4054,26 +4090,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: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 "" -#: 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: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 @@ -4085,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 @@ -4098,7 +4134,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 "" @@ -4118,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 @@ -4134,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 "" @@ -4195,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 @@ -4406,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:836 +#: 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" @@ -4427,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 "" @@ -4506,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:524 -#: 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 @@ -4556,15 +4592,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -4713,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 @@ -4750,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 @@ -4771,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 "" @@ -4947,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 @@ -4960,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" @@ -5022,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 "" @@ -5071,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 "" @@ -5145,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 @@ -5154,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 "" @@ -5640,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 @@ -5736,34 +5772,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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 +5808,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 +5824,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 "" @@ -5800,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5828,14 +5864,14 @@ 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: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 "" @@ -5852,17 +5888,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5892,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 "" @@ -5944,25 +5980,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5971,1062 +6007,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7152,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" @@ -7252,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 "" @@ -7341,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 "" @@ -7413,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" @@ -7506,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 "" @@ -7550,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 @@ -7627,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 "" @@ -8309,15 +8349,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 +8365,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 "" @@ -8598,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 "" @@ -8671,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" @@ -8833,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 "" @@ -8878,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 "" @@ -8890,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 "" @@ -8967,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 "" @@ -8999,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 "" @@ -9023,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 "" @@ -9123,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 "" @@ -9445,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 "" @@ -9465,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 "" @@ -10200,20 +10248,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 "" @@ -10270,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 "" @@ -10311,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 "" @@ -10706,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 "" @@ -10770,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 "" @@ -10884,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 "" @@ -10971,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 "" @@ -11360,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 "" @@ -11687,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 "" @@ -11730,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 "" @@ -11917,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 "" @@ -11934,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 "" @@ -12212,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 "" @@ -12293,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 8bf4af893b..069b433b8b 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index fda464f2eb..49059e613e 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -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:527 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: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 "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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8878,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 +8923,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 +8935,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 +9012,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 +9044,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 "" @@ -9022,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 "" @@ -9122,176 +9174,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 +9496,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 +9516,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 +10251,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 "" @@ -10269,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" @@ -10310,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 "" @@ -10705,7 +10757,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" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 98e876a5d5..2406fd9ee5 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:38\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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" @@ -3991,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:1052 part/models.py:3666 +#: 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" @@ -4017,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:514 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 @@ -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:527 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: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 "" -#: 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: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 @@ -4086,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 @@ -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 @@ -4135,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4952,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 @@ -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 "" @@ -5645,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 @@ -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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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 "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" @@ -5805,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Coût minimal" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: 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 "" @@ -5833,14 +5863,14 @@ 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: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" @@ -5857,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5897,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 "" @@ -5949,25 +5979,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Stock total" @@ -5976,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nom de test" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 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:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "Données" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Surplus" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 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:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7157,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" @@ -7257,15 +7291,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 "" @@ -7346,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 "" @@ -7418,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" @@ -7511,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 "" @@ -7555,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 @@ -7632,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 "" @@ -8314,15 +8348,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 +8364,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 "" @@ -8603,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" @@ -8676,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" @@ -8838,7 +8878,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 +8923,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 +8935,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 +9012,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 +9044,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 "" @@ -9028,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 "" @@ -9128,176 +9174,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 +9496,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 +9516,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 +10251,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 "" @@ -10275,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" @@ -10316,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 "" @@ -10711,7 +10757,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 "" @@ -10775,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 "" @@ -10889,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" @@ -10976,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 "" @@ -11365,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 "" @@ -11692,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 "" @@ -11735,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 "" @@ -11922,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 "" @@ -11939,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 "" @@ -12217,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 "" @@ -12298,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 "" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 422c975cbd..22a4c3d583 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 009acd345f..945efe0a1d 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index ec2e6703ce..12d343424d 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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 @@ -1401,7 +1401,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 +1437,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 +1454,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 +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:3973 part/models.py:4409 +#: 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" @@ -1508,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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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" @@ -1680,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 @@ -1896,11 +1896,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 +1916,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 +1970,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: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 @@ -2306,1156 +2317,1154 @@ 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/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 "Á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 +3475,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 +3579,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 +3709,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 +3956,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 +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:530 +#: 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 @@ -3948,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:540 +#: 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" @@ -3982,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" @@ -3993,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:1052 part/models.py:3666 +#: 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" @@ -4019,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:514 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 @@ -4036,7 +4070,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:527 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -4057,26 +4091,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: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 "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: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 @@ -4088,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 @@ -4101,7 +4135,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 +4155,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 @@ -4137,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" @@ -4198,7 +4232,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 +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:836 +#: 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" @@ -4430,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" @@ -4509,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:524 -#: 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 @@ -4559,15 +4593,15 @@ 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: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" @@ -4716,7 +4750,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 @@ -4753,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 @@ -4774,11 +4808,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 +4920,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" @@ -4954,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 @@ -4967,7 +4997,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 +5059,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 +5108,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 +5182,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 +5191,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" @@ -5647,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 @@ -5743,34 +5773,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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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 "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 +5809,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 +5825,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" @@ -5807,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimum költség" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: 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" @@ -5835,14 +5865,14 @@ 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: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" @@ -5859,17 +5889,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:3992 msgid "Part IPN" msgstr "Alkatrész IPN" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5899,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ő" @@ -5951,25 +5981,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Teljes készlet" @@ -5978,1062 +6008,1068 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: 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:3517 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:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Add meg a teszt nevét" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "Teszt azonosító" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "Egyszerűsített Teszt azonosító" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "Teszt leírása" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "Teszt engedélyezve?" -#: part/models.py:3542 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:3543 +#: 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:3548 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:3549 +#: 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:3554 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:3556 +#: 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:3603 +#: 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:3608 +#: 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:3628 -msgid "Choices must be unique" -msgstr "A lehetőségek egyediek kell legyenek" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "A paraméter sablon nevének egyedinek kell lennie" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Paraméter neve" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "Paraméter mértékegysége" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "Paraméter leírása" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 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 -msgid "Choices" -msgstr "Lehetőségek" - -#: part/models.py:3688 +#: 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:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "Szülő alkatrész" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "Adat" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Paraméter értéke" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Alkatrész ID vagy alkatrész név" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Egyedi alkatrész ID értéke" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Alkatrész IPN érték" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "Szint" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "Alkatrészjegyzék szint" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "Szülő alkatrész kiválasztása" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "Al alkatrész" -#: part/models.py:4068 +#: 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:4079 +#: 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:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Ez az alkatrészjegyzék tétel opcionális" -#: part/models.py:4091 +#: 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:4098 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:4099 +#: 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:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "Alkatrészjegyzék tétel azonosító" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Alkatrészjegyzék tétel megjegyzései" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "Ellenőrző összeg" -#: part/models.py:4121 +#: part/models.py:4147 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:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Jóváhagyva" -#: part/models.py:4127 +#: part/models.py:4153 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: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:4133 +#: 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:4138 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:4139 +#: 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:4224 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:4234 part/models.py:4236 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "Al alkatrészt kötelező megadni" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "Alkatrészjegyzék tétel helyettesítő" -#: part/models.py:4397 +#: 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:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Szülő alkatrészjegyzék tétel" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "Helyettesítő alkatrész" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "1.rész" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "2.rész" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Válassz kapcsolódó alkatrészt" -#: part/models.py:4462 +#: 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:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "Eredmények" -#: part/serializers.py:186 +#: 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:210 part/serializers.py:228 stock/serializers.py:535 +#: 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Nincs kiválasztva alkatrész" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "Válassz kategóriát" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:449 +#: part/serializers.py:451 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:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:456 +#: 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:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:463 +#: 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:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:490 +#: 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:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:515 +#: 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:531 +#: 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:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:548 +#: 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:557 +#: 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:568 +#: 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:575 +#: 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:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "Külső raktárkészlet" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:873 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:874 +#: 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:880 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:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:897 +#: 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:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1126 +#: 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:1136 +#: 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:1146 +#: 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:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1153 +#: 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:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1159 +#: 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:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1165 +#: 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:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1279 +#: 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:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1294 +#: 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:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1354 +#: 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:1361 +#: 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:1364 +#: 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:1731 +#: 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:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1740 +#: 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:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1746 +#: 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:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1752 +#: 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:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1758 +#: 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:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Meglévő alkatrészjegyzék törlése" -#: part/serializers.py:1793 +#: 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:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Nincs megadva alkatrész oszlop" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Több egyező alkatrész is található" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Nincs egyező alkatrész" -#: part/serializers.py:1873 +#: 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:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Mennyiség nincs megadva" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Érvénytelen mennyiség" -#: part/serializers.py:1911 +#: 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:224 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" -#: 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" @@ -7159,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" @@ -7259,15 +7295,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" @@ -7348,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" @@ -7420,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" @@ -7513,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" @@ -7557,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 @@ -7634,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" @@ -8316,15 +8352,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 +8368,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" @@ -8605,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" @@ -8678,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" @@ -8840,7 +8882,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 +8927,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 +8939,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 +9016,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 +9048,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" @@ -9030,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" @@ -9130,176 +9178,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 +9500,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 +9520,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 +10255,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" @@ -10277,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" @@ -10318,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" @@ -10713,7 +10761,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" @@ -10777,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" @@ -10891,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" @@ -10978,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" @@ -11367,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" @@ -11694,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" @@ -11737,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" @@ -11924,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" @@ -11941,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" @@ -12219,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ó" @@ -12300,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" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index 15cae35579..dece834c3a 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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" @@ -4948,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 @@ -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 "" @@ -5641,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5801,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5829,14 +5863,14 @@ 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: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 "" @@ -5853,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5893,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 "" @@ -5945,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5972,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7153,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" @@ -7253,15 +7291,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 "" @@ -7342,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 "" @@ -7414,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" @@ -7507,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 "" @@ -7551,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 @@ -7628,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 "" @@ -8310,15 +8348,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 +8364,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 "" @@ -8599,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 "" @@ -8672,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" @@ -8834,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9024,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 "" @@ -9124,176 +9172,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 +9494,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 +9514,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 +10249,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 "" @@ -10271,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 "" @@ -10312,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 "" @@ -10707,7 +10755,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 "" @@ -10771,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 "" @@ -10885,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 "" @@ -10972,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 "" @@ -11361,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 "" @@ -11688,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 "" @@ -11731,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 "" @@ -11918,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 "" @@ -11935,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 "" @@ -12213,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 "" @@ -12294,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 "" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index fbac634369..c759fac2f0 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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" @@ -3991,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:1052 part/models.py:3666 +#: 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à" @@ -4017,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:514 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 @@ -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:527 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: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 "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: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 @@ -4086,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 @@ -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 @@ -4135,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" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4952,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 @@ -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 "" @@ -5645,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 @@ -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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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 "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" @@ -5805,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Costo Minimo" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: 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" @@ -5833,14 +5863,14 @@ 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: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" @@ -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:3992 msgid "Part IPN" msgstr "IPN Articolo" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5897,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 "" @@ -5949,25 +5979,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Giacenze Totali" @@ -5976,1062 +6006,1068 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nome Test" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Inserisci un nome per la prova" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "Descrizione Di Prova" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 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:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Valore richiesto" -#: part/models.py:3549 +#: 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:3554 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:3556 +#: 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:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Il nome del modello del parametro deve essere univoco" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Nome Parametro" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "Descrizione del parametro" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "Articolo principale" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "Dati" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Valore del Parametro" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "ID articolo o nome articolo" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Valore ID articolo univoco" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Valore IPN articolo" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "Livello" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "Livello distinta base" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "Seleziona articolo principale" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "Articolo subordinato" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Seleziona l'articolo da utilizzare nella Distinta Base" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "Quantità Distinta Base per questo elemento Distinta Base" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Questo elemento della Distinta Base è opzionale" -#: part/models.py:4091 +#: 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:4098 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:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "Riferimento Elemento Distinta Base" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Note Elemento Distinta Base" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "Codice di controllo" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "Codice di controllo Distinta Base" -#: part/models.py:4126 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:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: 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:4138 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:4139 +#: 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:4224 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:4234 part/models.py:4236 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "L'articolo subordinato deve essere specificato" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "Elemento Distinta Base Sostituito" -#: part/models.py:4397 +#: 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:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Elemento principale Distinta Base" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "Sostituisci l'Articolo" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "Articolo 1" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "Articolo 2" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Seleziona Prodotto Relativo" -#: part/models.py:4462 +#: 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:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:449 +#: part/serializers.py:451 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:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:490 +#: 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:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:498 +#: 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:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:568 +#: 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:575 +#: 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:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 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:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:888 +#: 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:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:897 +#: 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:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: 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:1136 +#: 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:1146 +#: 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:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1159 +#: 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:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1165 +#: 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:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1746 +#: 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:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1752 +#: 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:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1758 +#: 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:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Cancella Distinta Base esistente" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "Rimuovi elementi distinta base esistenti prima del caricamento" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Nessuna colonna articolo specificata" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Trovati più articoli corrispondenti" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Nessun articolo corrispondente trovato" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "L'articolo non è indicato come componente" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Quantità non fornita" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Quantità non valida" -#: part/serializers.py:1911 +#: part/serializers.py:1914 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 -#: 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" -#: 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" @@ -7157,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" @@ -7257,15 +7293,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 "" @@ -7346,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" @@ -7418,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" @@ -7511,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" @@ -7555,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 @@ -7632,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" @@ -8314,15 +8350,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 +8366,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" @@ -8603,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" @@ -8676,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" @@ -8838,7 +8880,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 +8925,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 +8937,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 +9014,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 +9046,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" @@ -9028,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 "" @@ -9128,176 +9176,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 +9498,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 +9518,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 +10253,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" @@ -10275,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" @@ -10316,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 "" @@ -10711,7 +10759,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" @@ -10775,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" @@ -10889,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" @@ -10976,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" @@ -11365,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 "" @@ -11692,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 "" @@ -11735,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 "" @@ -11922,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 "" @@ -11939,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 "" @@ -12217,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 "" @@ -12298,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 "" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index af521726de..b2fc3b1afc 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-05 12:39\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "パーツ" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "カテゴリを選択" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "在庫" @@ -7549,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 @@ -7626,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 "在庫切れ" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8878,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 +8923,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 +8935,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 +9012,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 +9044,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 "" @@ -9022,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 "" @@ -9122,176 +9174,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 +9496,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 +9516,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 +10251,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10757,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "最小在庫" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 3a76c98fd0..4ae0423ceb 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 8fbe805bf1..80d49ab82f 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 5524c4bd1b..5b2449f70d 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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" @@ -3991,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:1052 part/models.py:3666 +#: 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" @@ -4017,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:514 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 @@ -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:527 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: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 "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: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 @@ -4086,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 @@ -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 @@ -4135,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4952,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 @@ -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 "" @@ -5645,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 @@ -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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5805,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5833,14 +5863,14 @@ 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: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" @@ -5857,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5897,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 "" @@ -5949,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Totale Voorraad" @@ -5976,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "De template van de parameter moet uniek zijn" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Parameternaam" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Parameterwaarde" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Geen onderdelen geselecteerd" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:449 +#: part/serializers.py:451 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:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Ongeldige hoeveelheid" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7157,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" @@ -7257,15 +7291,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 "" @@ -7346,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 "" @@ -7418,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" @@ -7511,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" @@ -7555,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 @@ -7632,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 "" @@ -8314,15 +8348,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 +8364,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 "" @@ -8603,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 "" @@ -8676,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" @@ -8838,7 +8878,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 +8923,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 +8935,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 +9012,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 +9044,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 "" @@ -9028,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 "" @@ -9128,176 +9174,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 +9496,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 +9516,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 +10251,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 "" @@ -10275,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" @@ -10316,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 "" @@ -10711,7 +10757,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 "" @@ -10775,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 "" @@ -10889,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 "" @@ -10976,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 "" @@ -11365,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 "" @@ -11692,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 "" @@ -11735,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 "" @@ -11922,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 "" @@ -11939,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 "" @@ -12217,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 "" @@ -12298,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 "" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 482a4ae280..9976658170 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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" @@ -3991,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:1052 part/models.py:3666 +#: 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" @@ -4017,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:514 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 @@ -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:527 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: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 "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: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 @@ -4086,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 @@ -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 @@ -4135,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" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4952,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 @@ -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" @@ -5645,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 @@ -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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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 "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" @@ -5805,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Minimal kostnad" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: 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" @@ -5833,14 +5863,14 @@ 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: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" @@ -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:3992 msgid "Part IPN" msgstr "Del -IPN" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5897,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 "" @@ -5949,25 +5979,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Total lagerbeholdning" @@ -5976,1062 +6006,1068 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Testnavn" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Angi et navn for testen" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "Testbeskrivelse" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 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:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Krever verdi" -#: part/models.py:3549 +#: 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:3554 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:3556 +#: 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:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "Sjekkboksparameter kan ikke ha valg" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "Valg må være unike" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Navn på parametermal må være unikt" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Parameternavn" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "Fysisk enheter for denne parameteren" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "Parameterbeskrivelse" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "Er dette parameteret en sjekkboks?" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Valg" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "Gyldige valg for denne parameteren (kommaseparert)" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "Overordnet del" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Parameterverdi" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Del-ID eller delnavn" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Unik del-ID-verdi" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Delens interne delnummerverdi" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "Nivå" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "BOM-nivå" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "Velg overordnet del" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "Underordnet del" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Velg del som skal brukes i BOM" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "BOM-antall for denne BOM-artikkelen" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Denne BOM-artikkelen er valgfri" -#: part/models.py:4091 +#: 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:4098 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:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Forventet produksjonssvinn (absolutt eller prosent)" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "BOM-artikkelreferanse" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "BOM-artikkelnotater" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "Kontrollsum" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "BOM-linje kontrollsum" -#: part/models.py:4126 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:4127 +#: part/models.py:4153 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: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:4133 +#: 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:4138 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:4139 +#: 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:4224 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:4234 part/models.py:4236 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "Underordnet del må angis" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "BOM-artikkel erstatning" -#: part/models.py:4397 +#: 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:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Overordnet BOM-artikkel" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "Erstatningsdel" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "Del 1" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "Del 2" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Velg relatert del" -#: part/models.py:4462 +#: 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:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Ingen deler valgt" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "Velg kategori" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:455 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:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:490 +#: 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:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:515 +#: 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:531 +#: 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:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:575 +#: 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:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 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:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1126 +#: 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:1136 +#: 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:1146 +#: 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:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1354 +#: 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:1361 +#: 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:1364 +#: 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:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1746 +#: 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:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Nullstill eksisterende BOM" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "Fjern eksisterende BOM-artikler før opplastning" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Ingen del-kolonne angitt" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "Flere samsvarende deler funnet" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Ingen samsvarende del funnet" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "Delen er ikke betegnet som en komponent" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Antall ikke oppgitt" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Ugyldig antall" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "Minst en BOM-artikkel kreves" -#: part/stocktake.py:224 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" -#: 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" @@ -7157,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" @@ -7257,15 +7293,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 "" @@ -7346,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" @@ -7418,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" @@ -7511,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" @@ -7555,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 @@ -7632,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" @@ -8314,15 +8350,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 +8366,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" @@ -8603,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" @@ -8676,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" @@ -8838,7 +8880,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 +8925,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 +8937,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 +9014,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 +9046,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" @@ -9028,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 "" @@ -9128,176 +9176,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 +9498,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 +9518,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 +10253,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" @@ -10275,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" @@ -10316,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 "" @@ -10711,7 +10759,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" @@ -10775,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" @@ -10889,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" @@ -10976,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" @@ -11365,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 "" @@ -11692,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 "" @@ -11735,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 "" @@ -11922,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 "" @@ -11939,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 "" @@ -12217,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 "" @@ -12298,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 "" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index c2a5554875..df14385e6f 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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ść" @@ -3991,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:1052 part/models.py:3666 +#: 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" @@ -4017,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:514 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 @@ -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:527 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: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 "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: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 @@ -4086,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 @@ -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 @@ -4135,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" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4952,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 @@ -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 "" @@ -5645,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 @@ -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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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 "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" @@ -5805,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5833,14 +5863,14 @@ 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: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" @@ -5857,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "IPN komponentu" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5897,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 "" @@ -5949,25 +5979,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5976,1062 +6006,1068 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "Testowy opis" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 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:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "Wymaga załącznika" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "Część nadrzędna" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "Dane" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Wartość parametru" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Unikalny wartość ID komponentu" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Wartość IPN części" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "Poziom" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "Wybierz część nadrzędną" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Ten element BOM jest opcjonalny" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Notatki pozycji BOM" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 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:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 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:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "Część zastępcza" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "Część 1" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "Część 2" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 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:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1752 +#: 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:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Wyczyść istniejący BOM" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Nie podano ilości" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Nieprawidłowa ilość" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7157,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" @@ -7257,15 +7293,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 "" @@ -7346,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 "" @@ -7418,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" @@ -7511,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" @@ -7555,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 @@ -7632,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" @@ -8314,15 +8350,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 +8366,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" @@ -8603,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" @@ -8676,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" @@ -8838,7 +8880,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 +8925,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 +8937,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 +9014,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 +9046,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 "" @@ -9028,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 "" @@ -9128,176 +9176,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 +9498,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 +9518,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 +10253,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" @@ -10275,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ń" @@ -10316,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 "" @@ -10711,7 +10759,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" @@ -10775,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 "" @@ -10889,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" @@ -10976,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ść" @@ -11365,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 "" @@ -11692,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 "" @@ -11735,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 "" @@ -11922,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 "" @@ -11939,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 "" @@ -12217,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 "" @@ -12298,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 "" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 8463a77b8b..420958f093 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" 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/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 0fa826eaff..d5c5d43b19 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "Количество должно быть больше нуля" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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 "Значение" @@ -3991,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:1052 part/models.py:3666 +#: 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 "Ед.изм" @@ -4017,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:514 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 @@ -4034,7 +4068,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "Запись" -#: 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: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 @@ -4086,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 @@ -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 @@ -4135,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 "Неактивный" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "Добавить параметр" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4950,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 @@ -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 "" @@ -5643,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "Минимальный запас" @@ -5803,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "ID родителя" @@ -5831,14 +5863,14 @@ 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: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 "Детали" @@ -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:3992 msgid "Part IPN" msgstr "IPN детали" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5895,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 "" @@ -5947,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Общий запас" @@ -5974,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Название теста" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Введите имя для теста" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "Описание теста" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "Требуется значение" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Название параметра" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Варианты" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "Родительская деталь" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "Данные" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Значение Параметра" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Код или наименование детали" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Значение IPN" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "Уровень" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "Уровень BOM" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "Выберите родительскую деталь" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "Суб-деталь" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "Выбрать деталь для использования в BOM" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "Перерасход" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Расчетное количество перерасходов производства (абсолютное или процентное)" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Записи о позиции BOM" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "Контрольная сумма" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Проверен" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "Разрешить разновидности" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Позиция BOM-родителя" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "Замена детали" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "Часть 1" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "Часть 2" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Выберите связанную часть" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Не выбрана ни одна деталь" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "Выберите категорию" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "Подходящая деталь не найдена" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Некорректное количество" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "Общее количество" -#: 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 "" @@ -7155,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" @@ -7255,15 +7291,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 "" @@ -7344,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 "Действия с деталью" @@ -7416,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" @@ -7509,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 "Склад" @@ -7553,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 @@ -7630,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 "Нет запасов" @@ -8312,15 +8348,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 +8364,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 "" @@ -8601,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 "Результат" @@ -8674,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" @@ -8836,7 +8878,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 +8923,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 +8935,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 +9012,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 +9044,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 "" @@ -9026,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 "" @@ -9126,176 +9174,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 +9496,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 +9516,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 +10251,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 "Никогда" @@ -10273,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 "Удалить" @@ -10314,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 "Удалить шаблон" @@ -10709,7 +10757,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 "" @@ -10773,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 "Вернуться на сайт" @@ -10887,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 "Проверить" @@ -10974,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 "Минимальное количество" @@ -11363,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 "" @@ -11690,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 "Выбрать" @@ -11733,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 "Отслеживаемая деталь" @@ -11920,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 "Заказать детали" @@ -11937,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 "Удалить параметр" @@ -12215,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 "Код" @@ -12296,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 "" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 3877177274..9e4df6e864 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 0c4680395b..3fdc90d8bd 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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 "" @@ -3991,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:1052 part/models.py:3666 +#: 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 "" @@ -4017,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:514 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 @@ -4034,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4086,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 @@ -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 @@ -4135,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4950,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 @@ -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 "" @@ -5643,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5803,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5831,14 +5863,14 @@ 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: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 "" @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5895,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 "" @@ -5947,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7155,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" @@ -7255,15 +7291,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 "" @@ -7344,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 "" @@ -7416,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" @@ -7509,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 "" @@ -7553,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 @@ -7630,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 "" @@ -8312,15 +8348,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 +8364,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 "" @@ -8601,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 "" @@ -8674,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" @@ -8836,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9026,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 "" @@ -9126,176 +9172,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 +9494,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 +9514,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 +10249,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 "" @@ -10273,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 "" @@ -10314,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 "" @@ -10709,7 +10755,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 "" @@ -10773,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 "" @@ -10887,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 "" @@ -10974,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 "" @@ -11363,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 "" @@ -11690,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 "" @@ -11733,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 "" @@ -11920,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 "" @@ -11937,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 "" @@ -12215,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 "" @@ -12296,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 "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index 2e4c8f2035..7fae2dab40 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9172,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 +9494,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 +9514,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 +10249,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10755,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 007bbf6fa5..e054b069b8 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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 "" @@ -3991,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:1052 part/models.py:3666 +#: 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 "" @@ -4017,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:514 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 @@ -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:527 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: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 "" -#: 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: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 @@ -4086,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 @@ -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 @@ -4135,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4950,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 @@ -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 "" @@ -5643,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5803,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5831,14 +5863,14 @@ 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: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" @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5895,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 "" @@ -5947,25 +5979,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "Välj kategori" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7155,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" @@ -7255,15 +7291,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 "" @@ -7344,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 "" @@ -7416,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" @@ -7509,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 "" @@ -7553,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 @@ -7630,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 "" @@ -8312,15 +8348,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 +8364,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 "" @@ -8601,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 "" @@ -8674,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" @@ -8836,7 +8878,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 +8923,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 +8935,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 +9012,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 +9044,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 "" @@ -9026,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 "" @@ -9126,176 +9174,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 +9496,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 +9516,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 +10251,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" @@ -10273,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" @@ -10314,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" @@ -10709,7 +10757,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 "" @@ -10773,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 "" @@ -10887,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 "" @@ -10974,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 "" @@ -11363,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 "" @@ -11690,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 "" @@ -11733,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 "" @@ -11920,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 "" @@ -11937,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 "" @@ -12215,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 "" @@ -12296,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 "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 7683e9c703..81b1d3894b 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "ชิ้นส่วน" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 89045abeac..991e12d0b4 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:39\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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ı" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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" @@ -3991,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:1052 part/models.py:3666 +#: 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 "" @@ -4017,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:514 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 @@ -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:527 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: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 "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: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 @@ -4086,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 @@ -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 @@ -4135,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" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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 "" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4751,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 @@ -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" @@ -4950,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 @@ -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 "" @@ -5643,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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 "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" @@ -5803,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5831,14 +5863,14 @@ 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: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" @@ -5855,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5895,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 "" @@ -5947,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5974,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 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:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: 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:4138 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:4139 +#: 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:4224 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:4234 part/models.py:4236 +#: part/models.py:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7155,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" @@ -7255,15 +7291,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 "" @@ -7344,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" @@ -7416,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" @@ -7509,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" @@ -7553,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 @@ -7630,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" @@ -8312,15 +8348,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 +8364,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 "" @@ -8601,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 "" @@ -8674,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" @@ -8836,7 +8878,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 +8923,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 +8935,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 +9012,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 +9044,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 "" @@ -9026,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 "" @@ -9126,176 +9174,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 +9496,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 +9516,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 +10251,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 "" @@ -10273,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 "" @@ -10314,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 "" @@ -10709,7 +10757,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" @@ -10773,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 "" @@ -10887,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 "" @@ -10974,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 "" @@ -11363,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 "" @@ -11690,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 "" @@ -11733,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 "" @@ -11920,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 "" @@ -11937,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 "" @@ -12215,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 "" @@ -12296,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 "" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index cc678872fa..49e2977114 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index b6b2641167..bd89674e7f 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,20 @@ 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" #: 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: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,141 +552,141 @@ 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" -#: 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:4238 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: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:4090 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:4084 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 @@ -778,15 +778,15 @@ 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 #: 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:4105 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 @@ -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: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 @@ -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 @@ -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 @@ -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: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" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1156 +2315,1154 @@ 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/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 "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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3946,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:540 +#: 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" @@ -3980,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ị" @@ -3991,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:1052 part/models.py:3666 +#: 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ị" @@ -4017,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:514 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 @@ -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:527 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: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 "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: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 @@ -4086,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 @@ -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 @@ -4135,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" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4428,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ố" @@ -4507,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:524 -#: 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 @@ -4557,15 +4591,15 @@ 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: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" @@ -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 @@ -4751,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 @@ -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" @@ -4952,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 @@ -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" @@ -5645,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 @@ -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: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:3965 part/stocktake.py:219 +#: 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" -#: 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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 "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" @@ -5805,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: part/admin.py:155 part/models.py:3114 part/models.py:3128 +#: templates/js/translated/part.js:970 msgid "Minimum Cost" msgstr "Chi phí tối thiểu" -#: part/admin.py:158 part/models.py:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: part/admin.py:158 part/models.py:3121 part/models.py:3135 +#: 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" @@ -5833,14 +5863,14 @@ 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: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" @@ -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:3992 msgid "Part IPN" msgstr "IPN sản phẩm" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5897,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 "" @@ -5949,25 +5979,25 @@ 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: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" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "Tổng số lượng" @@ -5976,1062 +6006,1068 @@ 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: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" -#: 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "Tên kiểm thử" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "Nhập tên cho kiểm thử" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "Mô tả kiểm thử" -#: part/models.py:3533 +#: part/models.py:3545 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 -#: 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: 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:3548 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:3549 +#: 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:3554 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:3556 +#: 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:3603 +#: 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:3608 +#: 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:3628 -msgid "Choices must be unique" -msgstr "Lựa chọn phải duy nhất" - -#: part/models.py:3645 +#: 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:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "Tên tham số" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "Đơn vị vật lý cho tham số này" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "Mô tả tham số" -#: part/models.py:3681 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:3682 +#: 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:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "Lựa chọn" - -#: part/models.py:3688 +#: 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:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "Sản phẩm cha" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "Dữ liệu" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "Giá trị tham số" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "Tên hoặc mã sản phẩm" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "Giá trị mã sản phẩm duy nhất" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "Giá trị IPN sản phẩm" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "Cấp độ" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "Cấp độ BOM" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "Chọn sản phẩm cha" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "Sản phẩm phụ" -#: part/models.py:4068 +#: 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:4079 +#: 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:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "Mục BOM này là tùy chọn" -#: part/models.py:4091 +#: 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:4098 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:4099 +#: 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:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "Tham chiếu mục BOM" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "Ghi chú mục BOM" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "Giá trị tổng kiểm" -#: part/models.py:4121 +#: part/models.py:4147 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:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "Đã xác minh" -#: part/models.py:4127 +#: part/models.py:4153 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: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:4133 +#: 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:4138 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:4139 +#: 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:4224 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:4234 part/models.py:4236 +#: 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:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "Sảm phẩm thay thế mục BOM" -#: part/models.py:4397 +#: 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:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "Hàng hóa BOM cha" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "Sản phẩm thay thế" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "Sản phẩm 1" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "Sản phẩm 2" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "Chọn sản phẩm liên quan" -#: part/models.py:4462 +#: 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:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:535 +#: 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "Chưa chọn sản phẩm" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "Chọn danh mục" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:443 +#: 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:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:449 +#: 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:455 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:456 +#: 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:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:463 +#: 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:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:470 +#: 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:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:490 +#: 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:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:498 +#: 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:515 +#: 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:531 +#: 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:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:548 +#: 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:557 +#: 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:568 +#: 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:575 +#: 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:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: 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:880 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:881 +#: 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:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:888 +#: 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:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:897 +#: 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:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:903 +#: 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:920 +#: 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:1126 +#: 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:1136 +#: 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:1146 +#: 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:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1153 +#: 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:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1159 +#: 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:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1165 +#: 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:1173 +#: 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:1279 +#: 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:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1294 +#: 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:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1331 +#: 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:1354 +#: 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:1361 +#: 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:1364 +#: 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:1731 +#: 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:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1740 +#: 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:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1746 +#: 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:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1752 +#: 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:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1758 +#: 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:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "Dọn dẹp BOM đang tồn tại" -#: part/serializers.py:1793 +#: 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:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "Chưa chỉ ra cột sản phẩm" -#: part/serializers.py:1867 +#: 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:1870 +#: 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:1873 +#: 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:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "Chưa cung cấp số lượng" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "Số lượng không hợp lệ" -#: part/serializers.py:1911 +#: 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:224 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" -#: 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" @@ -7157,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" @@ -7257,15 +7293,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 "" @@ -7346,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" @@ -7418,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" @@ -7511,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" @@ -7555,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 @@ -7632,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" @@ -8314,15 +8350,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 +8366,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" @@ -8603,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ả" @@ -8676,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" @@ -8838,7 +8880,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 +8925,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 +8937,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 +9014,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 +9046,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" @@ -9028,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 "" @@ -9128,176 +9176,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 +9498,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 +9518,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 +10253,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ờ" @@ -10275,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" @@ -10316,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 "" @@ -10711,7 +10759,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" @@ -10775,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" @@ -10889,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" @@ -10976,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" @@ -11365,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 "" @@ -11692,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 "" @@ -11735,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 "" @@ -11922,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 "" @@ -11939,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 "" @@ -12217,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 "" @@ -12298,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 "" diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index 8f153ad6c2..531d2171a6 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-09 22:25+0000\n" +"PO-Revision-Date: 2024-06-04 12:40\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -56,21 +56,21 @@ 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/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" @@ -409,15 +409,15 @@ 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 +#: 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 @@ -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: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,20 +501,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: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: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,141 +552,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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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: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:4090 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:4084 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 @@ -778,15 +778,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" @@ -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: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 @@ -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: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 @@ -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 @@ -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 @@ -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: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 "" @@ -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: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 @@ -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 @@ -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 @@ -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: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 @@ -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: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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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 @@ -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: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 @@ -2304,1154 +2315,1154 @@ 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/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: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:532 #: stock/templates/stock/item_base.html:207 #: templates/js/translated/company.js:507 #: templates/js/translated/company.js:1118 @@ -3944,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:540 +#: 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" @@ -3978,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 "" @@ -3989,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:1052 part/models.py:3666 +#: 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 "" @@ -4015,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:514 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 @@ -4032,7 +4068,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 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: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 "" -#: 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: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 @@ -4084,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 @@ -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 @@ -4133,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 "" @@ -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:839 #: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 #: templates/navbar.html:48 msgid "Suppliers" @@ -4426,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 "" @@ -4505,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:524 -#: 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 @@ -4555,15 +4591,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -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 @@ -4749,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 @@ -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 "" @@ -4946,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 @@ -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 "" @@ -5639,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 @@ -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:3990 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:3991 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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 "" @@ -5799,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -5827,14 +5863,14 @@ 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: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 "" @@ -5851,17 +5887,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -5891,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 "" @@ -5943,25 +5979,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -5970,1062 +6006,1066 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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: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:3500 +#: part/models.py:3512 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:3529 templates/js/translated/part.js:2880 msgid "Test Name" msgstr "" -#: part/models.py:3518 +#: part/models.py:3530 msgid "Enter a name for the test" msgstr "" -#: part/models.py:3524 +#: part/models.py:3536 msgid "Test Key" msgstr "" -#: part/models.py:3525 +#: part/models.py:3537 msgid "Simplified key for the test" msgstr "" -#: part/models.py:3532 +#: part/models.py:3544 msgid "Test Description" msgstr "" -#: part/models.py:3533 +#: part/models.py:3545 msgid "Enter description for this test" msgstr "" -#: part/models.py:3537 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:3537 +#: part/models.py:3549 msgid "Is this test enabled?" msgstr "" -#: part/models.py:3542 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:3543 +#: part/models.py:3555 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:3548 templates/js/translated/part.js:2915 +#: part/models.py:3560 templates/js/translated/part.js:2917 msgid "Requires Value" msgstr "" -#: part/models.py:3549 +#: part/models.py:3561 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:3566 templates/js/translated/part.js:2924 msgid "Requires Attachment" msgstr "" -#: part/models.py:3556 +#: part/models.py:3568 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:3603 +#: 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:3608 +#: part/models.py:3634 msgid "Checkbox parameters cannot have choices" msgstr "" -#: part/models.py:3628 -msgid "Choices must be unique" -msgstr "" - -#: part/models.py:3645 +#: part/models.py:3671 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 msgid "Invalid choice for parameter value" msgstr "" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 msgid "This BOM item has been validated" msgstr "" -#: part/models.py:4132 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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 msgid "No parts selected" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:409 msgid "Select category" msgstr "" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 msgid "Copy Notes" msgstr "" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 msgid "External Stock" msgstr "" -#: part/serializers.py:840 +#: part/serializers.py:843 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:843 +#: part/serializers.py:846 msgid "Variant Stock" msgstr "" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 msgid "Existing Image" msgstr "" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7151,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" @@ -7251,15 +7291,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 "" @@ -7340,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 "" @@ -7412,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" @@ -7505,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 "" @@ -7549,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 @@ -7626,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 "" @@ -8308,15 +8348,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 +8364,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 "" @@ -8597,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 "" @@ -8670,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" @@ -8832,7 +8876,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 +8921,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 +8933,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 +9010,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 +9042,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 "" @@ -9022,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 "" @@ -9122,176 +9170,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 +9492,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 +9512,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 +10247,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 "" @@ -10269,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 "" @@ -10310,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 "" @@ -10705,7 +10753,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 "" @@ -10769,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 "" @@ -10883,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 "" @@ -10970,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 "" @@ -11359,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 "" @@ -11686,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 "" @@ -11729,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 "" @@ -11916,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 "" @@ -11933,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 "" @@ -12211,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 "" @@ -12292,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 "" 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..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-05-31 07:08+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,21 +62,21 @@ 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/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: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 +#: 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 @@ -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: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 @@ -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: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: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: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: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:4212 +#: InvenTree/serializers.py:63 part/models.py:4238 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 #, 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:1178 +#: 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:4090 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:4084 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:4105 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: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: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,8 +1003,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" @@ -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: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 @@ -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: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: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: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: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: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: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: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:3973 part/models.py:4409 +#: 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:832 part/serializers.py:1506 +#: 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:1508 +#: 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:1531 +#: 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" @@ -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,362 @@ 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 "" -#: common/models.py:130 +#: common/models.py:128 msgid "Unique project code" msgstr "" -#: common/models.py:137 +#: common/models.py:135 #, fuzzy #| msgid "Part description" msgid "Project description" msgstr "商品描述" -#: common/models.py:146 +#: 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: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 -#, fuzzy -#| msgid "Subcategories" -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 #, fuzzy #| msgid "Printing Actions" 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 +#, fuzzy +#| msgid "Not a valid currency code" +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 #, fuzzy #| msgid "Enable barcode scanner support" 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 #, fuzzy #| msgid "Part description" msgid "Part Revisions" msgstr "商品描述" -#: common/models.py:1436 +#: common/models.py:1395 #, fuzzy #| msgid "Enable internal prices for parts" msgid "Enable revision field for Part" msgstr "启用内部商品价格" -#: common/models.py:1441 +#: common/models.py:1400 #, fuzzy #| msgid "Removed from assembly" 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: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 @@ -2400,1196 +2419,1196 @@ 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 #, fuzzy #| msgid "Parameter units" 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 "在调试模式生成报告(HTML输出)" -#: common/models.py:1687 +#: common/models.py:1656 #, fuzzy #| msgid "No Reports Found" 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 #, fuzzy #| msgid "Select Stock Items" 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 #, 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: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 #, fuzzy #| msgid "Sales Orders" 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 #, fuzzy #| msgid "Build Order Reference" 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 #, fuzzy #| msgid "Complete Build Order" 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 #, fuzzy #| msgid "Build Order is incomplete" 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 #, fuzzy #| msgid "Create Purchase Order" 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 #, fuzzy #| msgid "Sales Orders" 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 #, fuzzy #| msgid "Exclude Location" msgid "Exclude External Locations" msgstr "排除地点" -#: common/models.py:2057 +#: 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: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 #, 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:2068 common/models.py:2478 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:2142 +#: common/models.py:2111 #, fuzzy #| msgid "Build to allocate parts" 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 #, fuzzy #| msgid "Show latest parts on the homepage" 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 "在浏览器中显示 PDF 标签,而不是以文件形式下载" -#: 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 "在浏览器中显示 PDF 报告,而不是以文件形式下载" -#: 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 #, fuzzy #| msgid "Purchase Orders" 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 #, fuzzy #| msgid "Search" 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 #, fuzzy #| msgid "Select Label Template" 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 #, fuzzy #| msgid "stock items selected" 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 #, fuzzy #| msgid "No stock location set" 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 #, fuzzy #| msgid "No stock location set" 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/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: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 @@ -3600,101 +3619,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 @@ -3704,41 +3723,53 @@ msgstr "" msgid "Image" msgstr "图片" -#: common/models.py:3067 +#: common/models.py:2960 #, fuzzy #| msgid "Image" msgid "Image file" msgstr "图片" -#: common/models.py:3109 +#: 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:3128 +#: common/models.py:3036 #, fuzzy #| msgid "Part name" 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 #, fuzzy #| msgid "Optional Items" 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 #, fuzzy #| msgid "Destination" msgid "Definition" msgstr "目的地" -#: common/models.py:3144 +#: common/models.py:3052 msgid "Unit definition" msgstr "" @@ -3852,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 @@ -4112,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 "" @@ -4123,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:530 +#: 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 @@ -4138,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:540 +#: 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" @@ -4172,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 "数值" @@ -4183,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:1052 part/models.py:3666 +#: 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 "单位" @@ -4211,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:514 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 @@ -4228,7 +4276,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:809 part/serializers.py:525 +#: company/models.py:809 part/serializers.py:527 msgid "Supplier stock keeping unit" msgstr "" @@ -4251,26 +4299,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: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 "备注" -#: 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: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 @@ -4282,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 @@ -4295,7 +4343,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 "" @@ -4315,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 @@ -4331,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 "" @@ -4394,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 @@ -4619,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:836 +#: 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" @@ -4640,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 "添加参数" @@ -4723,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:524 -#: 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 @@ -4773,15 +4821,15 @@ msgid "Update Part Availability" msgstr "" #: company/templates/company/supplier_part_sidebar.html:5 -#: part/serializers.py:835 part/stocktake.py:223 +#: 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" @@ -4948,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 @@ -4989,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 @@ -5014,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 "" @@ -5210,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 @@ -5223,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" @@ -5285,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 "" @@ -5334,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 "" @@ -5414,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 @@ -5423,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" @@ -5939,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 @@ -6049,34 +6097,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: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:3965 part/stocktake.py:219 +#: 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: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/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:956 part/templates/part/part_base.html:277 -#: report/models.py:161 templates/js/translated/part.js:1231 -#: templates/js/translated/part.js:2346 +#: 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: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 +6135,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 +6151,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 "最低库存" @@ -6115,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:3123 part/models.py:3137 -#: templates/js/translated/part.js:969 +#: 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:3130 part/models.py:3144 -#: templates/js/translated/part.js:979 +#: 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:211 +#: part/admin.py:308 part/admin.py:395 stock/admin.py:58 stock/admin.py:216 msgid "Parent ID" msgstr "" @@ -6143,14 +6191,14 @@ 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: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 "商品" @@ -6167,17 +6215,17 @@ msgstr "" msgid "Parent IPN" msgstr "" -#: part/admin.py:410 part/models.py:3966 +#: part/admin.py:410 part/models.py:3992 msgid "Part IPN" msgstr "" -#: part/admin.py:423 part/serializers.py:1278 +#: 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:1293 +#: part/admin.py:428 part/serializers.py:1296 #: templates/js/translated/pricing.js:353 #: templates/js/translated/pricing.js:1032 msgid "Maximum Price" @@ -6207,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" @@ -6267,25 +6315,25 @@ 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: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 "" -#: 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:840 #: templates/email/low_stock_notification.html:16 msgid "Total Stock" msgstr "" @@ -6294,1099 +6342,1103 @@ 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:3936 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: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: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:3991 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 +#: templates/js/translated/part.js:2471 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 #: 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 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 -msgid "Test templates can only be created for trackable parts" -msgstr "" - -#: part/models.py:3500 -#, 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 -msgid "Test Name" -msgstr "" - -#: part/models.py:3518 -msgid "Enter a name for the test" -msgstr "" - -#: part/models.py:3524 -msgid "Test Key" -msgstr "" - -#: part/models.py:3525 -msgid "Simplified key for the test" -msgstr "" - -#: part/models.py:3532 -msgid "Test Description" -msgstr "" - -#: part/models.py:3533 -msgid "Enter description for this test" -msgstr "" - -#: part/models.py:3537 report/models.py:208 -#: templates/js/translated/part.js:2899 -#: templates/js/translated/table_filters.js:481 -msgid "Enabled" -msgstr "已启用" - -#: part/models.py:3537 -msgid "Is this test enabled?" -msgstr "" - -#: part/models.py:3542 templates/js/translated/part.js:2907 -#: templates/js/translated/table_filters.js:477 -msgid "Required" -msgstr "" - -#: part/models.py:3543 -msgid "Is this test required to pass?" -msgstr "" - -#: part/models.py:3548 templates/js/translated/part.js:2915 -msgid "Requires Value" -msgstr "" - -#: part/models.py:3549 -msgid "Does this test require a value when adding a test result?" -msgstr "" - -#: part/models.py:3554 templates/js/translated/part.js:2922 -msgid "Requires Attachment" -msgstr "" - -#: part/models.py:3556 -msgid "Does this test require a file attachment when adding a test result?" -msgstr "" - -#: part/models.py:3603 -msgid "Checkbox parameters cannot have units" -msgstr "" - -#: part/models.py:3608 -msgid "Checkbox parameters cannot have choices" -msgstr "" - -#: part/models.py:3628 +#: part/models.py:3490 part/models.py:3654 #, fuzzy #| msgid "Key string must be unique" msgid "Choices must be unique" msgstr "关键字必须是唯一的" -#: part/models.py:3645 +#: 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:3660 +#: part/models.py:3686 msgid "Parameter Name" msgstr "" -#: part/models.py:3667 +#: part/models.py:3693 msgid "Physical units for this parameter" msgstr "" -#: part/models.py:3675 +#: part/models.py:3701 msgid "Parameter description" msgstr "" -#: part/models.py:3681 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:3682 +#: part/models.py:3708 msgid "Is this parameter a checkbox?" msgstr "" -#: part/models.py:3687 templates/js/translated/part.js:1636 -msgid "Choices" -msgstr "" - -#: part/models.py:3688 +#: part/models.py:3714 msgid "Valid choices for this parameter (comma-separated)" msgstr "" -#: part/models.py:3765 +#: part/models.py:3791 #, fuzzy #| msgid "Invalid choice for parent build" msgid "Invalid choice for parameter value" msgstr "上级生产选项无效" -#: part/models.py:3808 +#: part/models.py:3834 msgid "Parent Part" msgstr "" -#: part/models.py:3816 part/models.py:3917 part/models.py:3918 +#: 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:3821 +#: part/models.py:3847 msgid "Data" msgstr "" -#: part/models.py:3822 +#: part/models.py:3848 msgid "Parameter Value" msgstr "" -#: part/models.py:3924 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:3925 +#: part/models.py:3951 msgid "Default Parameter Value" msgstr "" -#: part/models.py:3963 +#: part/models.py:3989 msgid "Part ID or part name" msgstr "" -#: part/models.py:3964 +#: part/models.py:3990 msgid "Unique part ID value" msgstr "" -#: part/models.py:3966 +#: part/models.py:3992 msgid "Part IPN value" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "Level" msgstr "" -#: part/models.py:3967 +#: part/models.py:3993 msgid "BOM level" msgstr "" -#: part/models.py:4057 +#: part/models.py:4083 msgid "Select parent part" msgstr "" -#: part/models.py:4067 +#: part/models.py:4093 msgid "Sub part" msgstr "" -#: part/models.py:4068 +#: part/models.py:4094 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:4079 +#: part/models.py:4105 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:4085 +#: part/models.py:4111 msgid "This BOM item is optional" msgstr "" -#: part/models.py:4091 +#: part/models.py:4117 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:4124 part/templates/part/upload_bom.html:55 msgid "Overage" msgstr "" -#: part/models.py:4099 +#: part/models.py:4125 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:4106 +#: part/models.py:4132 msgid "BOM item reference" msgstr "" -#: part/models.py:4114 +#: part/models.py:4140 msgid "BOM item notes" msgstr "" -#: part/models.py:4120 +#: part/models.py:4146 msgid "Checksum" msgstr "" -#: part/models.py:4121 +#: part/models.py:4147 msgid "BOM line checksum" msgstr "" -#: part/models.py:4126 templates/js/translated/table_filters.js:174 +#: part/models.py:4152 templates/js/translated/table_filters.js:174 msgid "Validated" msgstr "" -#: part/models.py:4127 +#: part/models.py:4153 #, 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: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:4133 +#: part/models.py:4159 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:4164 part/templates/part/upload_bom.html:56 #: templates/js/translated/bom.js:1046 msgid "Allow Variants" msgstr "" -#: part/models.py:4139 +#: part/models.py:4165 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:4250 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:4260 part/models.py:4262 msgid "Sub part must be specified" msgstr "" -#: part/models.py:4376 +#: part/models.py:4402 msgid "BOM Item Substitute" msgstr "" -#: part/models.py:4397 +#: part/models.py:4423 msgid "Substitute part cannot be the same as the master part" msgstr "" -#: part/models.py:4410 +#: part/models.py:4436 msgid "Parent BOM item" msgstr "" -#: part/models.py:4418 +#: part/models.py:4444 msgid "Substitute part" msgstr "" -#: part/models.py:4434 +#: part/models.py:4460 msgid "Part 1" msgstr "" -#: part/models.py:4442 +#: part/models.py:4468 msgid "Part 2" msgstr "" -#: part/models.py:4443 +#: part/models.py:4469 msgid "Select Related Part" msgstr "" -#: part/models.py:4462 +#: part/models.py:4488 msgid "Part relationship cannot be created between a part and itself" msgstr "" -#: part/models.py:4467 +#: part/models.py:4493 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:187 msgid "Results" msgstr "" -#: part/serializers.py:186 +#: part/serializers.py:188 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:210 part/serializers.py:228 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:273 +#: part/serializers.py:275 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:397 +#: part/serializers.py:399 #, fuzzy #| msgid "Rejected" msgid "No parts selected" msgstr "已拒绝" -#: part/serializers.py:407 +#: part/serializers.py:409 #, fuzzy #| msgid "Set category" msgid "Select category" msgstr "设置类别" -#: part/serializers.py:442 +#: part/serializers.py:444 msgid "Original Part" msgstr "" -#: part/serializers.py:443 +#: part/serializers.py:445 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:450 msgid "Copy Image" msgstr "" -#: part/serializers.py:449 +#: part/serializers.py:451 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:455 part/templates/part/detail.html:277 +#: part/serializers.py:457 part/templates/part/detail.html:277 msgid "Copy BOM" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:458 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:462 +#: part/serializers.py:464 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:463 +#: part/serializers.py:465 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:469 +#: part/serializers.py:471 #, fuzzy #| msgid "Company Notes" msgid "Copy Notes" msgstr "公司备注" -#: part/serializers.py:470 +#: part/serializers.py:472 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:488 +#: part/serializers.py:490 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:490 +#: part/serializers.py:492 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:497 +#: part/serializers.py:499 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:498 +#: part/serializers.py:500 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:517 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:531 +#: part/serializers.py:533 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:541 +#: part/serializers.py:543 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:550 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:559 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:568 +#: part/serializers.py:570 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:577 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:838 +#: part/serializers.py:841 #, fuzzy #| msgid "External Link" msgid "External Stock" msgstr "外部链接" -#: part/serializers.py:840 +#: part/serializers.py:843 #, fuzzy #| msgid "Unallocate Stock" msgid "Unallocated Stock" msgstr "未分配库存" -#: part/serializers.py:843 +#: part/serializers.py:846 #, fuzzy #| msgid "Part Stock" msgid "Variant Stock" msgstr "商品库存" -#: part/serializers.py:873 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:874 +#: part/serializers.py:877 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:880 templates/js/translated/part.js:102 +#: part/serializers.py:883 templates/js/translated/part.js:102 msgid "Initial Stock" msgstr "" -#: part/serializers.py:881 +#: part/serializers.py:884 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:887 +#: part/serializers.py:890 msgid "Supplier Information" msgstr "" -#: part/serializers.py:888 +#: part/serializers.py:891 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:896 +#: part/serializers.py:899 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:897 +#: part/serializers.py:900 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:902 +#: part/serializers.py:905 #, fuzzy #| msgid "Existing barcode found" msgid "Existing Image" msgstr "发现现有条码" -#: part/serializers.py:903 +#: part/serializers.py:906 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:920 +#: part/serializers.py:923 #, fuzzy #| msgid "Part image not found" msgid "Image file does not exist" msgstr "未找到商品图像" -#: part/serializers.py:1126 +#: part/serializers.py:1129 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1136 +#: part/serializers.py:1139 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1146 +#: part/serializers.py:1149 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1152 +#: part/serializers.py:1155 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1153 +#: part/serializers.py:1156 #, fuzzy #| msgid "Exclude stock items from this selected location" msgid "Exclude stock items in external locations" msgstr "从该选定的仓储地点排除库存项" -#: part/serializers.py:1158 +#: part/serializers.py:1161 msgid "Generate Report" msgstr "" -#: part/serializers.py:1159 +#: part/serializers.py:1162 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1164 +#: part/serializers.py:1167 msgid "Update Parts" msgstr "" -#: part/serializers.py:1165 +#: part/serializers.py:1168 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1173 +#: part/serializers.py:1176 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1279 +#: part/serializers.py:1282 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1286 +#: part/serializers.py:1289 #, fuzzy #| msgid "Uses default currency" msgid "Minimum price currency" msgstr "使用默认货币" -#: part/serializers.py:1294 +#: part/serializers.py:1297 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1301 +#: part/serializers.py:1304 #, fuzzy #| msgid "Uses default currency" msgid "Maximum price currency" msgstr "使用默认货币" -#: part/serializers.py:1330 +#: part/serializers.py:1333 msgid "Update" msgstr "" -#: part/serializers.py:1331 +#: part/serializers.py:1334 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1354 +#: part/serializers.py:1357 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1364 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1364 +#: part/serializers.py:1367 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1731 +#: part/serializers.py:1734 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1739 +#: part/serializers.py:1742 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1740 +#: part/serializers.py:1743 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1745 +#: part/serializers.py:1748 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1746 +#: part/serializers.py:1749 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1751 +#: part/serializers.py:1754 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1752 +#: part/serializers.py:1755 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1757 +#: part/serializers.py:1760 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1758 +#: part/serializers.py:1761 msgid "Copy substitute parts when duplicate BOM items" msgstr "" -#: part/serializers.py:1792 +#: part/serializers.py:1795 msgid "Clear Existing BOM" msgstr "" -#: part/serializers.py:1793 +#: part/serializers.py:1796 msgid "Delete existing BOM items before uploading" msgstr "" -#: part/serializers.py:1823 +#: part/serializers.py:1826 msgid "No part column specified" msgstr "" -#: part/serializers.py:1867 +#: part/serializers.py:1870 msgid "Multiple matching parts found" msgstr "" -#: part/serializers.py:1870 +#: part/serializers.py:1873 msgid "No matching part found" msgstr "" -#: part/serializers.py:1873 +#: part/serializers.py:1876 msgid "Part is not designated as a component" msgstr "" -#: part/serializers.py:1882 +#: part/serializers.py:1885 msgid "Quantity not provided" msgstr "" -#: part/serializers.py:1890 +#: part/serializers.py:1893 msgid "Invalid quantity" msgstr "" -#: part/serializers.py:1911 +#: part/serializers.py:1914 msgid "At least one BOM item is required" msgstr "" -#: part/stocktake.py:224 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 "" -#: 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 "" @@ -7516,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" @@ -7616,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 "" @@ -7705,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 "" @@ -7779,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" @@ -7872,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 "库存" @@ -7918,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 @@ -7999,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 "" @@ -8778,15 +8830,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 +8846,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 "" @@ -9119,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 "" @@ -9198,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" @@ -9378,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 "" @@ -9424,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 "" @@ -9436,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 "" @@ -9518,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 "序列号已存在" @@ -9552,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 "" @@ -9576,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" @@ -9706,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 "" @@ -10052,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 "" @@ -10072,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 "" @@ -10823,20 +10887,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 "从不" @@ -10901,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 "删除" @@ -10954,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 "删除模板" @@ -11371,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 "" @@ -11437,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 "" @@ -11551,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 "" @@ -11638,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 "" @@ -12037,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 "" @@ -12400,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 "" @@ -12449,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 "可追溯商品" @@ -12676,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 "订购商品" @@ -12695,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 "删除参数" @@ -12985,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 "" @@ -13066,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/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/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/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'), 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/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 }}


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/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" 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/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/components/forms/fields/RelatedModelField.tsx b/src/frontend/src/components/forms/fields/RelatedModelField.tsx index 22eadbc988..18816190dd 100644 --- a/src/frontend/src/components/forms/fields/RelatedModelField.tsx +++ b/src/frontend/src/components/forms/fields/RelatedModelField.tsx @@ -59,12 +59,17 @@ export function RelatedModelField({ if (field.value === pk) return; if ( - field.value !== null && - field.value !== undefined && - field.value !== '' + field?.value !== null && + field?.value !== undefined && + field?.value !== '' ) { const url = `${definition.api_url}${field.value}/`; + if (!url) { + setPk(null); + return; + } + api.get(url).then((response) => { let pk_field = definition.pk_field ?? 'pk'; if (response.data && response.data[pk_field]) { 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/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`, 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/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index efbd067478..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-05-23 11: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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:38\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" @@ -48,18 +48,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 "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" @@ -207,9 +207,9 @@ 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 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Neaktivní" @@ -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" @@ -527,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 @@ -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" @@ -579,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" @@ -859,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" @@ -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:300 msgid "System Settings" msgstr "Nastavení systému" @@ -1031,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" @@ -1100,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" @@ -1109,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:167 +#: 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" @@ -1136,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" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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" @@ -1188,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 "" @@ -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" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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" @@ -1341,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" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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" @@ -2171,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" @@ -2464,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" @@ -2515,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" @@ -2537,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ě" @@ -2560,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" @@ -2580,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 "" @@ -3374,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" @@ -3394,50 +3414,50 @@ msgstr "Ceník" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Štítky" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:38\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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:38\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" @@ -48,18 +48,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 "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" @@ -207,9 +207,9 @@ 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 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inaktiv" @@ -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" @@ -527,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 @@ -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" @@ -579,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" @@ -859,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" @@ -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:300 msgid "System Settings" msgstr "Einstellungen" @@ -1031,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" @@ -1100,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" @@ -1109,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:167 +#: 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" @@ -1136,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" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "Teilkategorie" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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" @@ -1188,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" @@ -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" @@ -1250,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:243 +#: 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" @@ -1275,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:258 +#: 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" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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" @@ -1341,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" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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" @@ -2171,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" @@ -2464,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" @@ -2515,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" @@ -2537,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" @@ -2560,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" @@ -2580,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" @@ -3374,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" @@ -3394,50 +3414,50 @@ msgstr "Preise" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Beschriftungen" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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" @@ -3594,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" @@ -3638,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" @@ -3685,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" @@ -3733,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 @@ -3769,12 +3789,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" @@ -3804,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" @@ -3845,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" @@ -3879,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" @@ -3969,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 @@ -4065,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" @@ -4104,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" @@ -4116,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 @@ -4186,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" @@ -4247,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" @@ -4255,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 @@ -4311,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" @@ -4404,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" @@ -4450,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" @@ -4477,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" @@ -4526,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" @@ -4599,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" @@ -4615,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" @@ -4636,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" @@ -4668,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" @@ -4786,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" @@ -5224,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" @@ -5716,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" @@ -6273,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" @@ -6679,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" @@ -6827,3 +6864,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..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-05-23 11:38\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" @@ -48,18 +48,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 "" @@ -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 "Αφαίρεση" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "Κωδικός" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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:295 +#: 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:167 +#: 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:162 +#: 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:243 +#: 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:258 +#: 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:274 +#: 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:199 -#: 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:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Labels" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 8144b1fe75..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:295 +#: 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:167 +#: 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:162 +#: 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:243 +#: 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:258 +#: 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:274 +#: 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:199 -#: 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:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 6746d5075c..03c13cc904 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-09 22:50\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,22 +44,22 @@ 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 #: 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" @@ -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,17 +135,17 @@ 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 #: 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" @@ -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,66 +191,95 @@ 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 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" 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" @@ -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: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 @@ -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/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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,20 +1273,20 @@ 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:243 +#: 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 "" +msgstr "Órdenes de compra" #: src/components/render/ModelType.tsx:142 msgid "Purchase Order Line" @@ -1275,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:258 +#: 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 "" @@ -1298,17 +1321,17 @@ 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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: 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 @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2147,7 +2167,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" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,11 +2557,11 @@ 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 "" +msgstr "En Stock" #: src/forms/StockForms.tsx:449 msgid "Move" @@ -2560,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 "" +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 "" @@ -2580,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 "" @@ -2729,7 +2749,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 +3132,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" @@ -3374,17 +3394,17 @@ msgstr "" msgid "System settings" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:64 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" -msgstr "" +msgstr "Ingresar" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" -msgstr "" +msgstr "Códigos de barras" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" -msgstr "" +msgstr "Precios" #: src/pages/Index/Settings/SystemSettings.tsx:118 #~ msgid "Physical Units" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" -msgstr "" +msgstr "Etiquetas" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" -msgstr "" +msgstr "Informes" -#: src/pages/Index/Settings/SystemSettings.tsx:224 -#: 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:229 +#: 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 "" +msgstr "Ordenes de Producción" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" -msgstr "" +msgstr "Cambiar a Configuración de Usuario" -#: src/pages/Index/Settings/UserSettings.tsx:29 +#: src/pages/Index/Settings/UserSettings.tsx:30 msgid "Account" -msgstr "" +msgstr "Cuenta" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" -msgstr "" +msgstr "Seguridad" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" -msgstr "" +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 "" @@ -3451,7 +3471,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." @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3720,7 +3740,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 @@ -3733,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 @@ -3747,7 +3767,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 +3789,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 "" @@ -3804,15 +3824,15 @@ 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 "" +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 "" +msgstr "Proveedores" #: src/pages/company/ManufacturerPartDetail.tsx:190 #: src/tables/purchasing/ManufacturerPartTable.tsx:84 @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4063,39 +4083,39 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" -msgstr "" +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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" +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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" +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 "" +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 "" +msgstr "Remover stock" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" -msgstr "" +msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" -msgstr "" +msgstr "Transferir stock" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4786,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 "" @@ -5046,11 +5083,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 +5142,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" @@ -5224,30 +5261,30 @@ 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 "" #: 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 +5313,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 +5321,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 +5662,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" @@ -5716,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 "" @@ -6142,11 +6179,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 +6191,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 +6239,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" @@ -6273,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 "" @@ -6299,7 +6336,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 +6349,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 +6373,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 +6507,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 @@ -6679,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 "" @@ -6822,7 +6859,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..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-05-23 11:39\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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:38\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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -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,56 +40,56 @@ 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 #: 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" #: 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" @@ -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" @@ -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 +#: src/pages/part/PartDetail.tsx:691 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" @@ -527,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 @@ -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" @@ -579,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é" @@ -859,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" @@ -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:300 msgid "System Settings" msgstr "Les paramètres du système" @@ -1031,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" @@ -1100,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" @@ -1109,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:167 +#: 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" @@ -1136,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" @@ -1160,15 +1183,15 @@ 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: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" @@ -1188,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" @@ -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é" @@ -1250,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:243 +#: 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" @@ -1275,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:258 +#: 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" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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" @@ -1341,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" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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" @@ -2171,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" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:38\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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:39\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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "सुरक्षित करें" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:38\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" @@ -48,18 +48,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 "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" @@ -207,9 +207,9 @@ 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 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inaktív" @@ -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" @@ -527,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 @@ -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" @@ -579,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" @@ -859,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" @@ -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:300 msgid "System Settings" msgstr "Rendszerbeállítások" @@ -1031,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" @@ -1100,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" @@ -1109,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:167 +#: 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" @@ -1136,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" @@ -1160,15 +1183,15 @@ 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: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" @@ -1188,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" @@ -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" @@ -1250,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:243 +#: 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" @@ -1275,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:258 +#: 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" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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" @@ -1341,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ó" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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" @@ -2171,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" @@ -2464,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" @@ -2515,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" @@ -2537,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" @@ -2560,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" @@ -2580,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" @@ -3374,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" @@ -3394,50 +3414,50 @@ msgstr "Árazás" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Címkék" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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" @@ -3594,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 "" @@ -3638,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" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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" @@ -3804,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" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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" @@ -4104,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" @@ -4116,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 @@ -4186,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" @@ -4247,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" @@ -4255,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 @@ -4311,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" @@ -4404,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" @@ -4450,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" @@ -4477,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" @@ -4526,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" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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" @@ -5224,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" @@ -5716,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" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -46,48 +46,48 @@ 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 #: 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 "" -#: 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 "" @@ -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 "" @@ -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:691 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:128 #: 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 "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -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:837 #: 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:171 #: 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:645 msgid "Parts" msgstr "" @@ -1149,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 "" @@ -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: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:548 +#: src/pages/stock/StockDetail.tsx:563 #: 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:555 +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 "" @@ -1248,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:243 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1273,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:258 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:578 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1296,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:273 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1320,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 "" @@ -1339,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 "" @@ -1383,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:199 -#: src/pages/part/PartDetail.tsx:492 -#: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:352 +#: 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:145 -#: src/pages/stock/StockDetail.tsx:514 +#: 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:520 +#: 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 @@ -1842,16 +1868,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" @@ -2019,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 "" @@ -2169,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 "" @@ -2462,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" @@ -2513,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" @@ -2535,8 +2557,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:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2558,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 "" @@ -2578,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3372,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 "" @@ -3392,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: src/pages/part/PartDetail.tsx:590 +#: 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:229 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:526 -#: 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:297 +#: 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 "" @@ -3473,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 @@ -3487,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" @@ -3499,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:133 +#: 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 @@ -3535,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:321 +#: 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 @@ -3553,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 "" @@ -3592,7 +3614,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:538 msgid "Batch Code" msgstr "" @@ -3636,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:612 +#: 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:624 +#: 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 "" @@ -3683,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 "" @@ -3731,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 @@ -3767,12 +3789,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 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:559 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3843,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 "" @@ -3877,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 "" @@ -3967,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:139 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:146 +#: 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:152 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:159 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:173 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:180 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:187 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:194 +#: 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:212 +#: 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:219 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:225 +#: 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:234 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:242 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:249 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:256 +#: 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:265 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4063,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:270 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:280 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:285 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:290 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:300 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:308 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4102,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4114,68 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:328 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: 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:374 -#: 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:409 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 -#: 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:519 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:540 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:546 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:585 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:595 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 -#: src/pages/stock/StockDetail.tsx:151 +#: 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 @@ -4183,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 +#: 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:679 -#: src/pages/stock/StockDetail.tsx:509 +#: 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:698 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 +#: 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:717 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:732 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:770 +#: 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:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4244,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 "" @@ -4252,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 @@ -4308,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 @@ -4401,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 "" @@ -4447,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 "" @@ -4474,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" @@ -4523,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 "" @@ -4566,13 +4606,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,15 +4632,15 @@ 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 "" -#: 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 "" @@ -4612,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 "" @@ -4633,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 "" @@ -4665,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 "" @@ -4783,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 "" @@ -5221,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 "" @@ -5500,20 +5540,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" @@ -5713,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 "" @@ -6270,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 "" @@ -6676,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 80038bff3f..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-05-23 11:38\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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:38\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,18 +48,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 "エラー" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "ホストを追加" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "保存" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "パーツ" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "在庫商品" @@ -1188,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 "在庫場所" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "ユーザー" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "価格" @@ -3394,50 +3414,50 @@ msgstr "価格" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "メモ" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "値" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:38\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:39\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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -48,18 +48,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 "" @@ -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" @@ -207,9 +207,9 @@ 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 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "Inactief" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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" @@ -4477,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" @@ -4526,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" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -48,18 +48,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 "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" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -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" @@ -527,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 @@ -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" @@ -579,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" @@ -859,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" @@ -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:300 msgid "System Settings" msgstr "Systeminnstillinger" @@ -1031,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" @@ -1100,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" @@ -1109,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:167 +#: 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" @@ -1136,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" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "Delkategori" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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" @@ -1188,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" @@ -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" @@ -1250,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:243 +#: 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" @@ -1275,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:258 +#: 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" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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" @@ -1341,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" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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" @@ -2171,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" @@ -2464,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" @@ -2515,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" @@ -2537,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" @@ -2560,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" @@ -2580,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" @@ -3374,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" @@ -3394,50 +3414,50 @@ msgstr "Prising" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Etiketter" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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" @@ -3594,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 "" @@ -3638,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" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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" @@ -3804,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" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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" @@ -4104,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 "" @@ -4116,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 @@ -4186,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" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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" @@ -4477,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" @@ -4526,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" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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:295 +#: 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:167 +#: 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:162 +#: 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:243 +#: 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:258 +#: 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:274 +#: 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:199 -#: 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:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 9b0a9e7e48..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:295 +#: 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:167 +#: 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:162 +#: 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:243 +#: 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:258 +#: 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:274 +#: 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:199 -#: 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:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 7097778d5a..00457111b0 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-09 22:50\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,32 +40,32 @@ 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 #: 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" #: 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,19 +135,19 @@ 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 #: 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" +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,27 +195,27 @@ 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 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" 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 @@ -528,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 @@ -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,32 +600,32 @@ 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 +#: 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 "A carregar" +msgstr "Carregando" -#: src/components/forms/fields/RelatedModelField.tsx:318 +#: src/components/forms/fields/RelatedModelField.tsx:323 msgid "No results found" 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,48 +851,48 @@ 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 +#: src/pages/Index/Settings/SystemSettings.tsx:36 msgid "Server" 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:300 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 @@ -1032,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" @@ -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" @@ -1101,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" @@ -1110,41 +1132,41 @@ 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: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" #: 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 #: 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" #: 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: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 da Peça" +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" +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 +#: src/pages/stock/StockDetail.tsx:555 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,175 +1265,176 @@ 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/part/pricing/PurchaseHistoryPanel.tsx:32 #: 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: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 "" +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 -#: 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 "" +msgstr "Pedido de Venda" #: src/components/render/ModelType.tsx:148 -#: src/pages/Index/Settings/SystemSettings.tsx:258 +#: 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 "" +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/pages/sales/ReturnOrderDetail.tsx:327 #: 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:279 #: 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 +#: src/pages/sales/ReturnOrderDetail.tsx:160 +#: src/pages/sales/SalesOrderDetail.tsx:164 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/StockItemTestResultTable.tsx:193 #: 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/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 "" +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 "" +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 #: 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 +1443,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 +1839,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 +1881,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 +1889,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 +1905,7 @@ msgstr "Búlgaro" #: src/contexts/LanguageContext.tsx:21 msgid "Czech" -msgstr "Checo" +msgstr "Tcheco" #: src/contexts/LanguageContext.tsx:22 msgid "Danish" @@ -1962,11 +1981,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)" @@ -2022,17 +2041,17 @@ 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 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 +2066,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 +2167,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,54 +2186,54 @@ 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 #: 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 "" +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 +2242,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 +2254,7 @@ msgstr "" #: src/defaults/links.tsx:128 msgid "Licenses" -msgstr "" +msgstr "Licenças" #: src/defaults/menuItems.tsx:7 #~ msgid "Open sourcea" @@ -2263,7 +2282,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 +2294,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 +2374,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 +2419,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 +2435,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 @@ -2465,27 +2484,27 @@ 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" -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 +2512,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,34 +2520,34 @@ 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" #~ 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" -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 @@ -2538,15 +2557,15 @@ 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 "" +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 +2577,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 +#: src/pages/stock/StockDetail.tsx:457 +#: src/tables/stock/StockItemTestResultTable.tsx:323 msgid "Add" -msgstr "" +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 "" +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 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" -msgstr "" +msgstr "Transferir Estoque" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:772 +#: src/pages/part/PartDetail.tsx:777 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 +2647,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 +2676,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 +2692,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 +2761,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 +2958,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 +3095,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 +3228,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 +3253,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 +3311,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 +3384,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 +#: src/pages/Index/Settings/SystemSettings.tsx:65 msgid "Login" -msgstr "" +msgstr "Entrar" -#: src/pages/Index/Settings/SystemSettings.tsx:86 +#: src/pages/Index/Settings/SystemSettings.tsx:87 msgid "Barcodes" -msgstr "" +msgstr "Códigos de barras" -#: src/pages/Index/Settings/SystemSettings.tsx:105 +#: src/pages/Index/Settings/SystemSettings.tsx:107 msgid "Pricing" -msgstr "" +msgstr "Preços" #: src/pages/Index/Settings/SystemSettings.tsx:118 #~ msgid "Physical Units" @@ -3395,52 +3414,52 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" -msgstr "" +msgstr "Etiquetas" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: src/pages/Index/Settings/UserSettings.tsx:99 +#: src/pages/Index/Settings/SystemSettings.tsx:148 +#: src/pages/Index/Settings/UserSettings.tsx:102 msgid "Reporting" -msgstr "" +msgstr "Relatórios" -#: src/pages/Index/Settings/SystemSettings.tsx:224 -#: 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 "" +msgstr "Balanço" -#: src/pages/Index/Settings/SystemSettings.tsx:229 +#: 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 "" +msgstr "Ordens de Produções" -#: src/pages/Index/Settings/SystemSettings.tsx:298 +#: src/pages/Index/Settings/SystemSettings.tsx:303 msgid "Switch to User Setting" -msgstr "" +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 "" +msgstr "Conta" -#: src/pages/Index/Settings/UserSettings.tsx:35 +#: src/pages/Index/Settings/UserSettings.tsx:36 msgid "Security" -msgstr "" +msgstr "Segurança" -#: src/pages/Index/Settings/UserSettings.tsx:46 +#: src/pages/Index/Settings/UserSettings.tsx:48 msgid "Display Options" -msgstr "" +msgstr "Opções de exibição" -#: src/pages/Index/Settings/UserSettings.tsx:115 +#: src/pages/Index/Settings/UserSettings.tsx:118 msgid "Account Settings" -msgstr "" +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 "" +msgstr "Mudar para Configuração do Sistema" #: src/pages/Index/UserSettings.tsx:103 #~ msgid "User Settings" @@ -3452,23 +3471,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" @@ -3476,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 @@ -3486,26 +3505,26 @@ 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 -#: 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" -msgstr "" +msgstr "Referência" #: 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: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 @@ -3517,62 +3536,62 @@ 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 +#: 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 #: 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 -#: 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 "" +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 +3606,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 @@ -3595,9 +3614,9 @@ 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 "" +msgstr "Código de Lote" #: src/pages/build/BuildDetail.tsx:202 #~ msgid "Build Order updated" @@ -3613,7 +3632,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,55 +3641,55 @@ 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 #: 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 "" +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 "" +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 +3701,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 +#: src/pages/sales/ReturnOrderDetail.tsx:309 +#: src/pages/sales/SalesOrderDetail.tsx:321 msgid "Cancel order" -msgstr "" +msgstr "Cancelar pedido" #: src/pages/build/BuildIndex.tsx:23 #~ msgid "Build order created" @@ -3701,15 +3720,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 +3740,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,29 +3749,29 @@ 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 -#: 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 #: 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 +3779,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 +3787,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 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" -msgstr "" +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 "" +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 +#: src/pages/stock/StockDetail.tsx:234 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 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:121 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 @@ -3970,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:140 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" -msgstr "" +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 "" +msgstr "Categoria" -#: src/pages/part/PartDetail.tsx:153 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" -msgstr "" +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 "" +msgstr "IPN" -#: src/pages/part/PartDetail.tsx:174 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" -msgstr "" +msgstr "Revisão" -#: src/pages/part/PartDetail.tsx:181 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" -msgstr "" +msgstr "Unidades" -#: src/pages/part/PartDetail.tsx:188 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" -msgstr "" +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 "" +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 "" +msgstr "Estoque Disponível" -#: src/pages/part/PartDetail.tsx:220 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" -msgstr "" +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 "" +msgstr "No pedido" -#: src/pages/part/PartDetail.tsx:235 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" -msgstr "" +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 "" +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 "" +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 "" +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 @@ -4064,48 +4083,48 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:187 #: src/tables/stock/StockItemTable.tsx:254 msgid "Active" -msgstr "" +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 "" +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 "" +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 "" +msgstr "Criado em" #: src/pages/part/PartDetail.tsx:310 #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:314 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4117,127 +4136,129 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:329 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" -msgstr "" +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 "" +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 "" +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 "" +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 "" +msgstr "Alocações" -#: src/pages/part/PartDetail.tsx:520 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" -msgstr "" +msgstr "Lista de Materiais" -#: src/pages/part/PartDetail.tsx:534 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" -msgstr "" +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 "" +msgstr "Fabricantes" -#: src/pages/part/PartDetail.tsx:586 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" -msgstr "" +msgstr "Agendamento" -#: src/pages/part/PartDetail.tsx:596 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" -msgstr "" +msgstr "Testar Modelos" -#: src/pages/part/PartDetail.tsx:607 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" -msgstr "" +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 #: src/tables/stock/StockItemTable.tsx:275 msgid "Available" -msgstr "" +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 "" +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 "" +msgstr "Em Produção" -#: src/pages/part/PartDetail.tsx:699 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" -msgstr "" +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 "" +msgstr "Excluir Peça" -#: src/pages/part/PartDetail.tsx:727 +#: src/pages/part/PartDetail.tsx:732 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/part/PartDetail.tsx:770 #: 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 +#: src/pages/part/PartDetail.tsx:778 msgid "Count part stock" -msgstr "" +msgstr "Contagem do estoque" -#: src/pages/part/PartDetail.tsx:784 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" -msgstr "" +msgstr "Transferir estoque de peça" -#: src/pages/part/PartDetail.tsx:793 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" -msgstr "" +msgstr "Ações da Peça" #: src/pages/part/PartIndex.tsx:29 #~ msgid "Categories" @@ -4245,231 +4266,246 @@ 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 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:190 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 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:100 msgid "Internal Pricing" -msgstr "" +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 "" +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 "" +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 "" +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 "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:112 -msgid "Minimum Total Price" -msgstr "" - -#: src/pages/part/pricing/BomPricingPanel.tsx:117 -msgid "Maximum Total Price" -msgstr "" +msgstr "Histórico de Vendas" +#: 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 #: 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/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 "" +msgstr "Atualizado" -#: src/pages/part/pricing/BomPricingPanel.tsx:254 +#: src/pages/part/pricing/BomPricingPanel.tsx:218 msgid "Pie Chart" -msgstr "" +msgstr "Gráfico Pizza" -#: src/pages/part/pricing/BomPricingPanel.tsx:255 +#: src/pages/part/pricing/BomPricingPanel.tsx:219 msgid "Bar Chart" -msgstr "" +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 "" +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 "" +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 "" +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/PriceBreakPanel.tsx:166 +msgid "Price" msgstr "" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:60 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:51 msgid "Pricing Category" -msgstr "" +msgstr "Categoria de Precificação" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:79 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:70 msgid "Minimum" -msgstr "" +msgstr "Mínimo" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:91 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:82 msgid "Maximum" -msgstr "" +msgstr "Máximo" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:123 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:114 msgid "Purchase Pricing" -msgstr "" +msgstr "Preço de Compra" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:158 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:149 msgid "Override Pricing" -msgstr "" +msgstr "Sobrepor Precificação" -#: src/pages/part/pricing/PricingOverviewPanel.tsx:165 +#: src/pages/part/pricing/PricingOverviewPanel.tsx:156 msgid "Overall Pricing" -msgstr "" +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:192 +msgid "Minimum Value" 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" -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 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/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 "" +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 "" +msgstr "Preço de Compra" -#: src/pages/part/pricing/SaleHistoryPanel.tsx:32 +#: src/pages/part/pricing/SaleHistoryPanel.tsx:22 msgid "Sale Order" -msgstr "" +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 "" +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 "" +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 "" +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 -#: 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 "" +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 "" +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 "" +msgstr "Envios Concluídos" #: src/pages/purchasing/PurchaseOrderDetail.tsx:159 #: src/pages/sales/ReturnOrderDetail.tsx:126 @@ -4478,92 +4514,92 @@ 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 "" +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 "" +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 "" +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 "" +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 "" +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 "" +msgstr "Referência do Cliente" -#: src/pages/sales/ReturnOrderDetail.tsx:269 +#: src/pages/sales/ReturnOrderDetail.tsx:271 msgid "Edit Return Order" -msgstr "" +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" -msgstr "" +msgstr "Adicionar Pedido de Devolução" #: src/pages/sales/SalesIndex.tsx:33 msgid "Customers" -msgstr "" +msgstr "Clientes" -#: src/pages/sales/SalesOrderDetail.tsx:221 +#: src/pages/sales/SalesOrderDetail.tsx:222 msgid "Edit Sales Order" -msgstr "" +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 "" +msgstr "Adicionar Pedido de Vendas" -#: src/pages/sales/SalesOrderDetail.tsx:255 +#: src/pages/sales/SalesOrderDetail.tsx:257 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 +4609,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 @@ -4600,11 +4636,11 @@ msgstr "" msgid "Location Actions" msgstr "" -#: src/pages/stock/StockDetail.tsx:103 +#: src/pages/stock/StockDetail.tsx:104 msgid "Base Part" -msgstr "" +msgstr "Peça base" -#: src/pages/stock/StockDetail.tsx:110 +#: src/pages/stock/StockDetail.tsx:111 msgid "Stock Status" msgstr "" @@ -4616,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 "" @@ -4637,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 "" +msgstr "Rastreamento de Estoque" -#: src/pages/stock/StockDetail.tsx:290 +#: src/pages/stock/StockDetail.tsx:293 msgid "Test Data" -msgstr "" +msgstr "Dados de Teste" -#: src/pages/stock/StockDetail.tsx:304 +#: src/pages/stock/StockDetail.tsx:307 msgid "Installed Items" -msgstr "" +msgstr "Itens Instalados" -#: src/pages/stock/StockDetail.tsx:311 +#: src/pages/stock/StockDetail.tsx:314 msgid "Child Items" -msgstr "" +msgstr "Itens Filhos" -#: src/pages/stock/StockDetail.tsx:366 +#: src/pages/stock/StockDetail.tsx:369 msgid "Edit Stock Item" -msgstr "" +msgstr "Editar Item do Estoque" -#: src/pages/stock/StockDetail.tsx:393 +#: src/pages/stock/StockDetail.tsx:396 msgid "Delete Stock Item" msgstr "" @@ -4669,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 "" +msgstr "Operações de Estoque" -#: src/pages/stock/StockDetail.tsx:445 +#: src/pages/stock/StockDetail.tsx:448 msgid "Count stock" -msgstr "" +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 "" +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 "" +msgstr "Remover estoque" -#: src/pages/stock/StockDetail.tsx:470 +#: src/pages/stock/StockDetail.tsx:473 msgid "Transfer" -msgstr "" +msgstr "Transferir" -#: src/pages/stock/StockDetail.tsx:471 +#: src/pages/stock/StockDetail.tsx:474 #: src/tables/stock/StockItemTable.tsx:443 msgid "Transfer stock" -msgstr "" +msgstr "Transferir estoque" -#: src/pages/stock/StockDetail.tsx:482 +#: src/pages/stock/StockDetail.tsx:485 msgid "Stock Item Actions" msgstr "" @@ -4711,12 +4747,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 +4764,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 +4785,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 +#: 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 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 +4902,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 +4934,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 +4974,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 +4984,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 +5016,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 +5053,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 +5069,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 +5121,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 @@ -5225,30 +5261,30 @@ 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 "" #: 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 +5293,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 +5313,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 +5353,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 +5369,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 +5501,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 +5533,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 +5557,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 +5603,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" @@ -5717,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 "" +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 "" +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 "" +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 "" +msgstr "Adicionar Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:142 +#: src/tables/part/PartTestTemplateTable.tsx:148 msgid "Edit Test Template" -msgstr "" +msgstr "Editar Modelo de Teste" -#: src/tables/part/PartTestTemplateTable.tsx:153 +#: src/tables/part/PartTestTemplateTable.tsx:159 msgid "Delete Test Template" -msgstr "" +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 "" @@ -5795,39 +5831,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 +5871,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 +5879,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 +5905,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 +5921,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 +5961,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 +5977,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:362 msgid "Deactivate" -msgstr "" +msgstr "Desativar" #: src/tables/plugin/PluginListTable.tsx:366 #~ msgid "Confirm" @@ -5949,7 +5985,7 @@ msgstr "" #: src/tables/plugin/PluginListTable.tsx:373 msgid "Activate" -msgstr "" +msgstr "Ativar" #: src/tables/plugin/PluginListTable.tsx:376 #~ msgid "Activating plugin" @@ -5981,15 +6017,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 +6057,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 +6077,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 +6099,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 +6111,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 +6119,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 +6135,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 +6235,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 +6287,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 +#: 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 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 +6450,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 +6532,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" @@ -6680,101 +6716,101 @@ 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 "" #: 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 +6818,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 +6826,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 +6851,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..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-05-23 11: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" @@ -48,18 +48,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 "Ошибка" @@ -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 "Удалить" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "Добавить узел" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "Сохранить" @@ -579,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 "Ничего не найдено" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "Детали" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "Места хранения" @@ -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 "" @@ -1250,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:243 +#: 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 "Заказы на закупку" @@ -1275,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:258 +#: 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 "Заказы на продажу" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "Значение" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:39\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" @@ -48,18 +48,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 "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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "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" @@ -527,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 @@ -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" @@ -579,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" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -48,18 +48,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 "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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -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" @@ -527,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 @@ -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" @@ -579,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" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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:167 +#: 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" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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" @@ -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 "" @@ -1250,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:243 +#: 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" @@ -1275,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:258 +#: 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" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Etiketter" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -48,18 +48,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 "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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -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" @@ -527,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 @@ -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" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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:167 +#: 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" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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ı" @@ -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 "" @@ -1250,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:243 +#: 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" @@ -1275,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:258 +#: 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" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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ı" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11: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" @@ -48,18 +48,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 "" @@ -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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 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 "" @@ -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" @@ -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: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 @@ -551,7 +575,6 @@ msgid "Add Host" msgstr "" #: src/components/forms/HostOptionsForm.tsx:90 -#: src/components/widgets/MarkdownEditor.tsx:72 msgid "Save" msgstr "" @@ -579,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 "" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -1100,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" @@ -1109,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: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 "" @@ -1136,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 "" @@ -1160,15 +1183,15 @@ msgid "Part Category" msgstr "" #: src/components/render/ModelType.tsx:64 -#: src/pages/Index/Settings/SystemSettings.tsx:162 +#: 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 "" @@ -1188,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 "" @@ -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 "" @@ -1250,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:243 +#: 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 "" @@ -1275,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:258 +#: 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 "" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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 "" @@ -1341,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 "" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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 "" @@ -2171,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 "" @@ -2464,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" @@ -2515,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" @@ -2537,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 "" @@ -2560,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 "" @@ -2580,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 "" @@ -3374,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 "" @@ -3394,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 "" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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 "" @@ -3594,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 "" @@ -3638,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 "" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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 "" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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 "" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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-05-23 11:39\n" +"PO-Revision-Date: 2024-06-09 22:50\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -48,18 +48,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 "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 "" @@ -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:686 +#: src/pages/part/PartDetail.tsx:691 msgid "Inactive" msgstr "" @@ -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" @@ -527,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 @@ -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" @@ -579,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" @@ -859,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ủ" @@ -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:300 msgid "System Settings" msgstr "Thiết lập hệ thống" @@ -1031,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" @@ -1100,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" @@ -1109,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:167 +#: 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" @@ -1136,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" @@ -1160,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:162 +#: 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" @@ -1188,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" @@ -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" @@ -1250,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:243 +#: 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" @@ -1275,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:258 +#: 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" @@ -1298,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:274 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1322,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ệ" @@ -1341,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" @@ -1385,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:199 -#: 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 @@ -1844,16 +1868,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" @@ -2021,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" @@ -2171,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" @@ -2464,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" @@ -2515,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" @@ -2537,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" @@ -2560,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" @@ -2580,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 "" @@ -3374,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" @@ -3394,50 +3414,50 @@ msgstr "Giá bán" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "Nhãn" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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" @@ -3475,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 @@ -3489,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" @@ -3501,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 @@ -3537,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 @@ -3555,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" @@ -3594,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 "" @@ -3638,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ú" @@ -3685,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 "" @@ -3733,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 @@ -3769,12 +3789,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 "" @@ -3804,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" @@ -3845,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 "" @@ -3879,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 "" @@ -3969,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 @@ -4065,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 "" @@ -4104,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 "" @@ -4116,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 @@ -4186,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 "" @@ -4247,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 "" @@ -4255,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 @@ -4311,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 @@ -4404,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 "" @@ -4450,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 "" @@ -4477,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" @@ -4526,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 "" @@ -4599,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 "" @@ -4615,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 "" @@ -4636,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 "" @@ -4668,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 "" @@ -4786,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ị" @@ -5224,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 "" @@ -5716,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 "" @@ -6273,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 "" @@ -6679,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 "" @@ -6827,3 +6864,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..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:295 +#: 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:167 +#: 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:162 +#: 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:243 +#: 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:258 +#: 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:274 +#: 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:199 -#: 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:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 507c3bc577..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:295 +#: 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:167 +#: 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:162 +#: 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:243 +#: 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:258 +#: 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:274 +#: 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:199 -#: 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:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: 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:229 +#: 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:298 +#: 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 117bb9900c..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-05-23 11:39\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" @@ -46,48 +46,48 @@ 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 #: 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 "" -#: 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 "" @@ -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 "" @@ -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:691 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:128 #: 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 "" @@ -579,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 "找不到結果" @@ -859,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 "" @@ -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:300 msgid "System Settings" msgstr "" @@ -1031,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" @@ -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:837 #: 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:171 #: 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:645 msgid "Parts" msgstr "" @@ -1149,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 "" @@ -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: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:548 +#: src/pages/stock/StockDetail.tsx:563 #: 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:555 +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 "" @@ -1248,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:243 +#: src/pages/Index/Settings/SystemSettings.tsx:248 #: src/pages/company/CompanyDetail.tsx:192 #: src/pages/company/SupplierPartDetail.tsx:224 -#: src/pages/part/PartDetail.tsx:572 +#: src/pages/part/PartDetail.tsx:575 #: src/pages/purchasing/PurchasingIndex.tsx:20 msgid "Purchase Orders" msgstr "" @@ -1273,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:258 +#: src/pages/Index/Settings/SystemSettings.tsx:263 #: src/pages/company/CompanyDetail.tsx:212 -#: src/pages/part/PartDetail.tsx:578 +#: src/pages/part/PartDetail.tsx:582 #: src/pages/sales/SalesIndex.tsx:21 msgid "Sales Orders" msgstr "" @@ -1296,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:273 +#: src/pages/Index/Settings/SystemSettings.tsx:279 #: src/pages/company/CompanyDetail.tsx:219 #: src/pages/sales/SalesIndex.tsx:27 msgid "Return Orders" @@ -1320,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 "" @@ -1339,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 "" @@ -1383,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:199 -#: src/pages/part/PartDetail.tsx:492 -#: src/pages/stock/LocationDetail.tsx:344 -#: src/pages/stock/StockDetail.tsx:352 +#: 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:145 -#: src/pages/stock/StockDetail.tsx:514 +#: 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:520 +#: 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 @@ -1842,16 +1868,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" @@ -2019,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 "" @@ -2169,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 "" @@ -2462,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" @@ -2513,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" @@ -2535,8 +2557,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:208 +#: src/pages/part/PartDetail.tsx:661 #: src/tables/stock/StockItemTable.tsx:290 msgid "In Stock" msgstr "" @@ -2558,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 "" @@ -2578,12 +2600,12 @@ msgid "Remove Stock" msgstr "" #: src/forms/StockForms.tsx:803 -#: src/pages/part/PartDetail.tsx:782 +#: src/pages/part/PartDetail.tsx:788 msgid "Transfer Stock" msgstr "" #: src/forms/StockForms.tsx:812 -#: src/pages/part/PartDetail.tsx:771 +#: src/pages/part/PartDetail.tsx:777 msgid "Count Stock" msgstr "" @@ -3372,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 "" @@ -3392,50 +3414,50 @@ msgstr "" #~ msgid "Exchange Rates" #~ msgstr "Exchange Rates" -#: src/pages/Index/Settings/SystemSettings.tsx:139 +#: src/pages/Index/Settings/SystemSettings.tsx:142 msgid "Labels" msgstr "" -#: src/pages/Index/Settings/SystemSettings.tsx:145 -#: 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:224 -#: src/pages/part/PartDetail.tsx:590 +#: 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:229 +#: src/pages/Index/Settings/SystemSettings.tsx:234 #: src/pages/build/BuildDetail.tsx:425 #: src/pages/build/BuildIndex.tsx:14 -#: src/pages/part/PartDetail.tsx:526 -#: 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:297 +#: 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 "" @@ -3473,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 @@ -3487,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" @@ -3499,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:133 +#: 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 @@ -3535,10 +3557,10 @@ msgid "Issued By" msgstr "" #: src/pages/build/BuildDetail.tsx:150 -#: src/pages/part/PartDetail.tsx:321 +#: 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 @@ -3553,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 "" @@ -3592,7 +3614,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:538 msgid "Batch Code" msgstr "" @@ -3636,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:612 +#: 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:624 +#: 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 "" @@ -3683,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 "" @@ -3731,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 @@ -3767,12 +3789,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 +3824,12 @@ msgid "Manufacturer Part Details" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:146 -#: src/pages/part/PartDetail.tsx:486 +#: src/pages/part/PartDetail.tsx:488 msgid "Parameters" msgstr "" #: src/pages/company/ManufacturerPartDetail.tsx:158 -#: src/pages/part/PartDetail.tsx:559 +#: src/pages/part/PartDetail.tsx:562 #: src/pages/purchasing/PurchasingIndex.tsx:26 msgid "Suppliers" msgstr "" @@ -3843,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 "" @@ -3877,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 "" @@ -3967,85 +3989,85 @@ msgstr "" msgid "Category Details" msgstr "" -#: src/pages/part/PartDetail.tsx:139 +#: src/pages/part/PartDetail.tsx:141 msgid "Variant of" msgstr "" -#: src/pages/part/PartDetail.tsx:146 +#: 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:152 +#: src/pages/part/PartDetail.tsx:154 msgid "Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:159 +#: src/pages/part/PartDetail.tsx:161 msgid "Category Default Location" msgstr "" -#: src/pages/part/PartDetail.tsx:166 +#: src/pages/part/PartDetail.tsx:168 msgid "IPN" msgstr "" -#: src/pages/part/PartDetail.tsx:173 +#: src/pages/part/PartDetail.tsx:175 msgid "Revision" msgstr "" -#: src/pages/part/PartDetail.tsx:180 +#: src/pages/part/PartDetail.tsx:182 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" msgstr "" -#: src/pages/part/PartDetail.tsx:187 +#: src/pages/part/PartDetail.tsx:189 #: src/tables/settings/PendingTasksTable.tsx:40 msgid "Keywords" msgstr "" -#: src/pages/part/PartDetail.tsx:194 +#: 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:212 +#: 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:219 +#: src/pages/part/PartDetail.tsx:221 msgid "Minimum Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:225 +#: 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:234 +#: src/pages/part/PartDetail.tsx:236 msgid "Allocated to Build Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:242 +#: src/pages/part/PartDetail.tsx:244 msgid "Allocated to Sales Orders" msgstr "" -#: src/pages/part/PartDetail.tsx:249 +#: src/pages/part/PartDetail.tsx:251 #: src/tables/bom/BomTable.tsx:236 msgid "Can Build" msgstr "" -#: src/pages/part/PartDetail.tsx:256 +#: 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:265 +#: src/pages/part/PartDetail.tsx:267 #: src/tables/bom/UsedInTable.tsx:73 #: src/tables/build/BuildOrderTable.tsx:108 #: src/tables/company/CompanyTable.tsx:61 @@ -4063,37 +4085,37 @@ msgstr "" msgid "Active" msgstr "" -#: src/pages/part/PartDetail.tsx:270 +#: src/pages/part/PartDetail.tsx:272 msgid "Template Part" msgstr "" -#: src/pages/part/PartDetail.tsx:275 +#: src/pages/part/PartDetail.tsx:277 #: src/tables/bom/BomTable.tsx:266 msgid "Assembled Part" msgstr "" -#: src/pages/part/PartDetail.tsx:280 +#: src/pages/part/PartDetail.tsx:282 msgid "Component Part" msgstr "" -#: src/pages/part/PartDetail.tsx:285 +#: src/pages/part/PartDetail.tsx:287 #: src/tables/bom/BomTable.tsx:261 msgid "Trackable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:290 +#: src/pages/part/PartDetail.tsx:292 msgid "Purchaseable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:295 +#: src/pages/part/PartDetail.tsx:297 msgid "Saleable Part" msgstr "" -#: src/pages/part/PartDetail.tsx:300 +#: src/pages/part/PartDetail.tsx:302 msgid "Virtual Part" msgstr "" -#: src/pages/part/PartDetail.tsx:308 +#: src/pages/part/PartDetail.tsx:310 #: src/tables/ColumnRenderers.tsx:199 msgid "Creation Date" msgstr "" @@ -4102,7 +4124,7 @@ msgstr "" #~ msgid "Edit part" #~ msgstr "Edit part" -#: src/pages/part/PartDetail.tsx:313 +#: src/pages/part/PartDetail.tsx:315 msgid "Created By" msgstr "" @@ -4114,68 +4136,71 @@ msgstr "" #~ msgid "Delete part" #~ msgstr "Delete part" -#: src/pages/part/PartDetail.tsx:328 +#: src/pages/part/PartDetail.tsx:330 msgid "Default Supplier" msgstr "" -#: src/pages/part/PartDetail.tsx:339 +#: 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:374 -#: 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:409 +#: src/pages/part/PartDetail.tsx:411 msgid "Stocktake By" msgstr "" -#: src/pages/part/PartDetail.tsx:480 +#: src/pages/part/PartDetail.tsx:482 msgid "Part Details" msgstr "" -#: src/pages/part/PartDetail.tsx:506 +#: src/pages/part/PartDetail.tsx:508 msgid "Variants" msgstr "" -#: src/pages/part/PartDetail.tsx:513 -#: 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:519 +#: src/pages/part/PartDetail.tsx:522 msgid "Bill of Materials" msgstr "" -#: src/pages/part/PartDetail.tsx:533 +#: src/pages/part/PartDetail.tsx:536 msgid "Used In" msgstr "" -#: src/pages/part/PartDetail.tsx:540 +#: src/pages/part/PartDetail.tsx:543 msgid "Part Pricing" msgstr "" -#: src/pages/part/PartDetail.tsx:546 +#: src/pages/part/PartDetail.tsx:549 #: src/pages/purchasing/PurchasingIndex.tsx:37 msgid "Manufacturers" msgstr "" -#: src/pages/part/PartDetail.tsx:585 +#: src/pages/part/PartDetail.tsx:589 msgid "Scheduling" msgstr "" -#: src/pages/part/PartDetail.tsx:595 +#: src/pages/part/PartDetail.tsx:601 msgid "Test Templates" msgstr "" -#: src/pages/part/PartDetail.tsx:606 +#: src/pages/part/PartDetail.tsx:612 msgid "Related Parts" msgstr "" -#: src/pages/part/PartDetail.tsx:661 -#: src/pages/stock/StockDetail.tsx:151 +#: 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 @@ -4183,55 +4208,55 @@ msgstr "" msgid "Available" msgstr "" -#: src/pages/part/PartDetail.tsx:667 +#: src/pages/part/PartDetail.tsx:673 msgid "No Stock" msgstr "" -#: src/pages/part/PartDetail.tsx:673 +#: 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:679 -#: src/pages/stock/StockDetail.tsx:509 +#: 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:698 +#: src/pages/part/PartDetail.tsx:704 msgid "Edit Part" msgstr "" -#: src/pages/part/PartDetail.tsx:705 +#: 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:717 +#: src/pages/part/PartDetail.tsx:723 msgid "Delete Part" msgstr "" -#: src/pages/part/PartDetail.tsx:726 +#: src/pages/part/PartDetail.tsx:732 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:770 +#: 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:778 msgid "Count part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:783 +#: src/pages/part/PartDetail.tsx:789 msgid "Transfer part stock" msgstr "" -#: src/pages/part/PartDetail.tsx:792 +#: src/pages/part/PartDetail.tsx:798 msgid "Part Actions" msgstr "" @@ -4244,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 "" @@ -4252,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 @@ -4308,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 @@ -4401,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 "" @@ -4447,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 "" @@ -4474,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" @@ -4523,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 "" @@ -4566,13 +4606,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,15 +4632,15 @@ 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 "" -#: 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 "" @@ -4612,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 "" @@ -4633,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 "" @@ -4665,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 "" @@ -4783,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 "" @@ -5221,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 "" @@ -5500,20 +5540,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" @@ -5713,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 "" @@ -6270,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 "" @@ -6676,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/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/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/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/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', 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/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` 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..5ff6c94db6 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" @@ -3065,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" @@ -3899,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" 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