diff --git a/.github/workflows/docker_build.yaml b/.github/workflows/docker_latest.yaml similarity index 90% rename from .github/workflows/docker_build.yaml rename to .github/workflows/docker_latest.yaml index ec8bdf7306..355afa5b87 100644 --- a/.github/workflows/docker_build.yaml +++ b/.github/workflows/docker_latest.yaml @@ -15,6 +15,9 @@ jobs: steps: - name: Checkout Code uses: actions/checkout@v2 + - name: Check version number + run: | + python3 ci/check_version_number.py --dev - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx diff --git a/.github/workflows/docker_stable.yaml b/.github/workflows/docker_stable.yaml new file mode 100644 index 0000000000..3d435e40da --- /dev/null +++ b/.github/workflows/docker_stable.yaml @@ -0,0 +1,42 @@ +# Build and push latest docker image on push to master branch + +name: Docker Build + +on: + push: + branches: + - 'stable' + +jobs: + + docker: + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Check version number + run: | + python3 ci/check_version_number.py --release + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - name: Login to Dockerhub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + - name: Build and Push + uses: docker/build-push-action@v2 + with: + context: ./docker + platforms: linux/amd64,linux/arm64,linux/arm/v7 + push: true + target: production + build-args: + branch: stable + repository: inventree/inventree + tags: inventree/inventree:stable + - name: Image Digest + run: echo ${{ steps.docker_build.outputs.digest }} diff --git a/.github/workflows/docker_publish.yaml b/.github/workflows/docker_tag.yaml similarity index 91% rename from .github/workflows/docker_publish.yaml rename to .github/workflows/docker_tag.yaml index 1bb3f05f9c..b3b0c53d12 100644 --- a/.github/workflows/docker_publish.yaml +++ b/.github/workflows/docker_tag.yaml @@ -15,7 +15,7 @@ jobs: uses: actions/checkout@v2 - name: Check Release tag run: | - python3 ci/check_version_number.py ${{ github.event.release.tag_name }} + python3 ci/check_version_number.py --release --tag ${{ github.event.release.tag_name }} - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx diff --git a/.github/workflows/version.yaml b/.github/workflows/version.yaml new file mode 100644 index 0000000000..6e32d9e148 --- /dev/null +++ b/.github/workflows/version.yaml @@ -0,0 +1,20 @@ +# Check that the version number format matches the current branch + +name: Version Numbering + +on: + pull_request: + branches-ignore: + - l10* + +jobs: + + check: + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + - name: Check version number + run: | + python3 ci/check_version_number.py --branch ${{ github.base_ref }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4af3fc5386..0677e61de4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,22 +1,102 @@ -Contributions to InvenTree are welcomed - please follow the guidelines below. +Please read the contribution guidelines below, before submitting your first pull request to the InvenTree codebase. -## Feature Branches +## Branches and Versioning -No pushing to master! New featues must be submitted in a separate branch (one branch per feature). +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. -## Include Migration Files +### Version Numbering + +InvenTree version numbering follows the [semantic versioning](https://semver.org/) specification. + +### Master Branch + +The HEAD of the "main" or "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 + +**No pushing to master:** New featues must be submitted as a pull request from a separate branch (one branch per feature). + +#### Feature Branches + +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 + +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 targetted at a major/minor version e.g. "0.5" +- When a release candidate branch is merged into *stable*, the release is tagged + +#### 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. + +## Migration Files Any required migration files **must** be included in the commit, or the pull-request will be rejected. If you change the underlying database schema, make sure you run `invoke migrate` and commit the migration files before submitting the PR. +*Note: A github action checks for unstaged migration files and will reject the PR if it finds any!* -## Testing +## Unit Testing -Any new code should be covered by unit tests - a submitted PR may not be accepted if the code coverage is decreased. +Any new code should be covered by unit tests - a submitted PR may not be accepted if the code coverage for any new features is insufficient, or the overall code coverage is decreased. + +The InvenTree code base makes use of [GitHub actions](https://github.com/features/actions) to run a suite of automated tests against the code base every time a new pull request is received. These actions include (but are not limited to): + +- Checking Python and Javascript code against standard style guides +- Running unit test suite +- Automated building and pushing of docker images +- Generating translation files + +The various github actions can be found in the `./github/workflows` directory + +## Code Style + +Sumbitted Python code is automatically checked against PEP style guidelines. Locally you can run `invoke style` to ensure the style checks will pass, before submitting the PR. ## Documentation New features or updates to existing features should be accompanied by user documentation. A PR with associated documentation should link to the matching PR at https://github.com/inventree/inventree-docs/ -## Code Style +## Translations -Sumbitted Python code is automatically checked against PEP style guidelines. Locally you can run `invoke style` to ensure the style checks will pass, before submitting the PR. +Any user-facing strings *must* be passed through the translation engine. + +- InvenTree code is written in English +- User translatable strings are provided in English as the primary language +- Secondary language translations are provided [via Crowdin](https://crowdin.com/project/inventree) + +*Note: Translation files are updated via GitHub actions - you do not need to compile translations files before submitting a pull request!* + +### Python Code + +For strings exposed via Python code, use the following format: + +```python +from django.utils.translation import ugettext_lazy as _ + +user_facing_string = _('This string will be exposed to the translation engine!') +``` + +### Templated Strings + +HTML and javascript files are passed through the django templating engine. Translatable strings are implemented as follows: + +```html +{% load i18n %} + +{% trans "This string will be translated" %} - this string will not! +``` \ No newline at end of file diff --git a/InvenTree/InvenTree/locale_stats.json b/InvenTree/InvenTree/locale_stats.json new file mode 100644 index 0000000000..9f003895c5 --- /dev/null +++ b/InvenTree/InvenTree/locale_stats.json @@ -0,0 +1 @@ +{"de": 95, "el": 0, "en": 0, "es": 4, "fr": 6, "he": 0, "id": 0, "it": 0, "ja": 4, "ko": 0, "nl": 0, "no": 0, "pl": 27, "ru": 6, "sv": 0, "th": 0, "tr": 32, "vi": 0, "zh": 1} \ No newline at end of file diff --git a/InvenTree/InvenTree/version.py b/InvenTree/InvenTree/version.py index 62dd0287ad..33a4aa3c0e 100644 --- a/InvenTree/InvenTree/version.py +++ b/InvenTree/InvenTree/version.py @@ -8,7 +8,7 @@ import re import common.models -INVENTREE_SW_VERSION = "0.5.0 pre" +INVENTREE_SW_VERSION = "0.5.0 dev" INVENTREE_API_VERSION = 12 @@ -70,7 +70,7 @@ def inventreeInstanceTitle(): def inventreeVersion(): """ Returns the InvenTree version string """ - return INVENTREE_SW_VERSION + return INVENTREE_SW_VERSION.lower().strip() def inventreeVersionTuple(version=None): @@ -84,6 +84,33 @@ def inventreeVersionTuple(version=None): return [int(g) for g in match.groups()] +def isInvenTreeDevelopmentVersion(): + """ + Return True if current InvenTree version is a "development" version + """ + + print("is dev?", inventreeVersion()) + + return inventreeVersion().endswith('dev') + + +def inventreeDocsVersion(): + """ + Return the version string matching the latest documentation. + + Development -> "latest" + Release -> "major.minor" + + """ + + if isInvenTreeDevelopmentVersion(): + return "latest" + else: + major, minor, patch = inventreeVersionTuple() + + return f"{major}.{minor}" + + def isInvenTreeUpToDate(): """ Test if the InvenTree instance is "up to date" with the latest version. diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po index 80ae21817c..410e78911d 100644 --- a/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -36,7 +36,7 @@ msgstr "Datum eingeben" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Bestätigen" @@ -73,7 +73,7 @@ msgstr "Kategorie auswählen" msgid "Duplicate serial: {n}" msgstr "Doppelte Seriennummer: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "Keine gültige Menge" @@ -102,152 +102,181 @@ msgstr "Keine Seriennummern gefunden" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "Anhang" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "Kommentar" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "Datei-Kommentar" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "Benutzer" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "Hochladedatum" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "Dateiname darf nicht leer sein" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "Ungültiges Verzeichnis für Anhang" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "Dateiname enthält ungültiges Zeichen '{c}'" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "Dateiendung fehlt" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "Anhang mit diesem Dateinamen bereits vorhanden" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "Fehler beim Umbenennen" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "Name" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "Beschreibung" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "Eltern" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "Dateiname" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Deutsch" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "Griechisch" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "Englisch" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "Spanisch" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Französisch" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "Hebräisch" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "Italienisch" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "Japanisch" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "Koreanisch" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "Niederländisch" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "Norwegisch" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Polnisch" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "Schwedisch" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "Thailändisch" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Türkisch" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "Vietnamesisch" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "Chinesisch" @@ -372,7 +401,7 @@ msgstr "Vom übergeordneten Element geteilt" msgid "Split child item" msgstr "Unterobjekt geteilt" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "Zum Kunden geschickt" @@ -432,27 +461,27 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Overage must be an integer value or a percentage" msgstr "Überschuss muss eine Ganzzahl oder ein Prozentwert sein" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "Element löschen" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "Häkchen setzen um Löschung von Objekt zu bestätigen" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "Benutzerinformationen bearbeiten" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "Passwort eingeben" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "Passwörter stimmen nicht überein" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "Systeminformationen" @@ -509,8 +538,8 @@ msgstr "geplantes Bestelldatum" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "Zieldatum" @@ -522,19 +551,18 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung." #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "Zieldatum für Bauauftrag-Fertigstellung." #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "Anzahl" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "Bauauftrag als vollständig markieren" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "Lagerort" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "Lagerort der Endprodukte" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "Status" @@ -649,7 +680,7 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "Bauauftrag" @@ -657,8 +688,8 @@ msgstr "Bauauftrag" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "Bauaufträge" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "Referenz" @@ -695,15 +725,14 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "Teil" @@ -764,7 +794,7 @@ msgstr "Fertiggestellte Teile" msgid "Number of stock items which have been completed" msgstr "Anzahl der fertigen BestandsObjekte" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "Bauauftrags-Status" @@ -772,7 +802,7 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "Losnummer" @@ -780,16 +810,16 @@ msgstr "Losnummer" msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "Erstelldatum" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "geplantes Fertigstellungsdatum" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -797,7 +827,7 @@ msgstr "Fertigstellungsdatum" msgid "completed by" msgstr "Fertiggestellt von" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "Aufgegeben von" @@ -808,9 +838,9 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "Verantwortlicher Benutzer" @@ -821,34 +851,33 @@ msgstr "Nutzer der für diesen Bauauftrag zuständig ist" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "Externer Link" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "Link zu einer externen URL" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "Notizen" @@ -881,11 +910,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "Reserviermenge ({n}) muss kleiner Bestandsmenge ({q}) sein. Zugewiesene Anzahl ({n}) darf nicht die verfügbare ({q}) Anzahl überschreiten" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "Zu viele BestandsObjekt zugewiesen" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "Ausgewähltes BestandsObjekt nicht Stückliste für Teil '{p}' gefunden" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "Bauauftrag" @@ -912,9 +941,9 @@ msgstr "Bauauftrag starten um Teile zuzuweisen" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "BestandsObjekt" @@ -936,12 +965,12 @@ msgstr "Ziel-BestandsObjekt" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "Seriennummer" @@ -993,7 +1022,7 @@ msgstr "Lagerbestand wurde Bauauftrag noch nicht vollständig zugewiesen" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "Admin" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "Überfällig" @@ -1039,7 +1068,7 @@ msgstr "Bauauftrag abbrechen" #: build/templates/build/build_base.html:114 msgid "Delete Build" -msgstr "" +msgstr "Bauauftrag löschen" #: build/templates/build/build_base.html:124 #: build/templates/build/detail.html:15 @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "Fortschritt" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "Auftrag" @@ -1148,8 +1177,8 @@ msgstr "BestandsObjekt zur Zuordnung zum ausgewählten Endprodukt auswählen" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "Der zugeordnete Bestand wird in den folgenden Endprodukten verbaut werden:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgstr "Der zugeordnete Bestand wird in den folgenden Endprodukten verbaut werden:
%(output)s" #: build/templates/build/create_build_item.html:17 #, python-format @@ -1172,9 +1201,9 @@ msgstr "Ausgangs-Lager" msgid "Stock can be taken from any available location." msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden." -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "Ziel-Lager" @@ -1184,16 +1213,16 @@ msgstr "Ziel-Lagerort nicht angegeben" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "Losnummer" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "Erstellt" @@ -1201,7 +1230,7 @@ msgstr "Erstellt" msgid "No target date set" msgstr "Kein Ziel-Datum gesetzt" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "Fertig" @@ -1225,7 +1254,7 @@ msgstr "Lagerbestand Bauauftrag zuweisen" msgid "Auto Allocate" msgstr "Automatisch zuweisen" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "Bestandszuordnung aufheben" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "Benötigte Teile bestellen" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Teile bestellen" @@ -1288,8 +1317,8 @@ msgstr "Fertiggestellte Endprodukte" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Anhänge" @@ -1298,48 +1327,48 @@ msgstr "Anhänge" msgid "Build Notes" msgstr "Bauauftrags-Notizen" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "Anmerkungen bearbeiten" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "Anhang hinzufügen" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "Anhang bearbeiten" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "Löschvorgang bestätigen" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "Anhang löschen" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "Bauauftrag-details" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "Details" @@ -1501,9 +1530,9 @@ msgstr "Teil muss aktuell im Bestand sein" msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "Verfügbar" @@ -1539,7 +1568,7 @@ msgstr "Fehler beim Lesen der Datei (falsche Größe)" msgid "Error reading file (data could be corrupted)" msgstr "Fehler beim Lesen der Datei (Daten könnten beschädigt sein)" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "Datei" @@ -1556,546 +1585,594 @@ msgstr "{name.title()} Datei" msgid "Select {name} file to upload" msgstr "{name} Datei zum Hochladen auswählen" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "InvenTree Instanzname" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "Firmenname" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "interner Firmenname" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "Basis-URL" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "Standardwährung" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "Standardwährung" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "Barcode-Scanner Unterstützung" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "IPN Regex" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/models.py:597 +#: common/models.py:583 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:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/models.py:604 +#: common/models.py:590 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:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "Vorlage" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "Baugruppe" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "Komponente" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "Kaufbar" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "Verkäuflich" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "Nachverfolgbar" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Virtuell" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "zeige Bestand in Eingabemasken" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "Import in Ansichten anzeigen" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "Importassistent in einigen Teil-Ansichten anzeigen" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "Preis in Formularen anzeigen" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "Teilpreis in einigen Formularen anzeigen" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "Ausgangsbestand erstellen" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "Interne Preise" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "Interner Preis als Stückliste-Preis" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "Seitengröße" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "Test-Berichte" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "Erstellung von Test-Berichten aktivieren" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/models.py:756 +#: common/models.py:742 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:758 +#: common/models.py:744 msgid "days" msgstr "Tage" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "Gruppieren nach Teil" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "Bestand in Tabellen anhand von Teil-Referenz gruppieren" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "Bauauftrag-Referenz Präfix" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "Präfix für Bauauftrag-Referenz" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "Bauauftrag-Referenz RegEx" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "Auftrags-Referenz Präfix" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "Präfix für Auftrags-Referenz" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "Bestellungs-Referenz Präfix" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "Präfix für Bestellungs-Referenz" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "Markierte Teile anzeigen" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "Zeige markierte Teile auf der Startseite" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "Neueste Teile anzeigen" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "Zeige neueste Teile auf der Startseite" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "Aktuelle Teile-Stände" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "Anzahl der neusten Teile auf der Startseite" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "Nicht validierte Stücklisten anzeigen" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "Neueste Lagerbestand Änderungen anzeigen" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "aktueller Bestand" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "Anzahl des geänderten Bestands auf der Startseite" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "Niedrigen Bestand anzeigen" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "Zeige geringen Lagerbestand auf der Startseite" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "Benötigten Bestand anzeigen" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "Zeige Bestand für Bauaufträge auf der Startseite" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "Abgelaufenen Bestand anzeigen" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "Zeige Abgelaufene Lagerbestände auf der Startseite" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "Ausstehende Bauaufträge anzeigen" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "Zeige ausstehende Bauaufträge auf der Startseite" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "Zeige überfällige Bauaufträge" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "Zeige überfällige Bauaufträge auf der Startseite" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "Ausstehende POs anzeigen" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "Ausstehende POs auf der Startseite anzeigen" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "Überfällige POs anzeigen" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "Überfällige POs auf der Startseite anzeigen" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "Ausstehende SOs anzeigen" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "Ausstehende SOs auf der Startseite anzeigen" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "Überfällige SOs anzeigen" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "Überfällige SOs auf der Startseite anzeigen" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" -msgstr "" +msgstr "Berichte inline anzeigen" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" -msgstr "" +msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "Anzahl Suchergebnisse" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "Anzahl der Ergebnisse, die in der Vorschau angezeigt werden sollen" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "Preis" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "Standard" @@ -2123,7 +2200,7 @@ msgstr "Benutzereinstellungen ändern" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "Teile importiert" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "URL" msgid "Image URL" msgstr "Bild-URL" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "Website" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "Adresse" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "Firmenadresse" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "Email" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "Kontakt" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "Link" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "Bild" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "ist Kunde" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "ist Zulieferer" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "ist Hersteller" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "Währung" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "Hersteller" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "MPN" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "Wert" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "Einheiten" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "SKU (Lagerbestandseinheit)" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Notiz" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "Vielfache" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "Mehrere bestellen" @@ -2420,7 +2502,7 @@ msgstr "Währungscode" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "Firma" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "Bild von URL herunterladen" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "Bestellung anlegen" @@ -2460,16 +2542,16 @@ msgstr "verwendet Standard-Währung" msgid "Phone" msgstr "Telefon" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "Kunde" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "Bild hochladen" @@ -2490,8 +2572,8 @@ msgstr "Neues Zuliefererteil anlegen" msgid "New Supplier Part" msgstr "Neues Zuliefererteil" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "Neues Zuliefererteil" msgid "Options" msgstr "Optionen" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "Teile bestellen" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "Teile löschen" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "Teile löschen" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "Herstellerteile" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "Neues Herstellerteil anlegen" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "Neues Herstellerteil" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "Zulieferer-Bestand" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "Bestellungen" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "Neue Bestellung anlegen" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "Neue Bestellung" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "Aufträge" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Neuen Auftrag anlegen" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Neuer Auftrag" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "Zugeordneter Bestand" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "Firmenbemerkungen" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "Zuliefererteil entfernen?" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "Alle ausgewählten Zulieferteile werden gelöscht" @@ -2609,17 +2691,17 @@ msgstr "Zulieferer-Liste" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "Teil bestellen" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "Herstellerteil bearbeiten" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "Herstellerteil löschen" @@ -2634,9 +2716,9 @@ msgstr "Internes Teil" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "Zulieferer" @@ -2649,8 +2731,8 @@ msgstr "Zuliefererteil entfernen" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "Löschen" @@ -2659,8 +2741,8 @@ msgstr "Löschen" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "Parameter" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "Parameter löschen" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "Parameter hinzufügen" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "Herstellerteil-Bestand" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "Lagerbestand" @@ -2717,41 +2799,41 @@ msgstr "Herstellerteil-Bestellungen" msgid "Orders" msgstr "Bestellungen" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "Hergestellte Teile" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "Zuliefererteile" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Teilbestand" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "Zuliefererteil" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "Zuliefererteil bearbeiten" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "Zuliefererteil entfernen" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "Teil bestellen" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "Preisinformationen ansehen" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "Preisstaffel hinzufügen" @@ -2789,11 +2871,11 @@ msgstr "Preisstaffel hinzufügen" msgid "No price break information found" msgstr "Keine Informationen zur Preisstaffel gefunden" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "Preisstaffel löschen" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "Preisstaffel bearbeiten" @@ -2817,8 +2899,8 @@ msgstr "Bepreisung" msgid "New Supplier" msgstr "Neuer Zulieferer" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "Hersteller" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "Neuer Hersteller" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "Kunden" @@ -2929,6 +3011,10 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "Bestellung aufgeben" @@ -2978,11 +3064,11 @@ msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind" msgid "Order notes" msgstr "Bestell-Notizen" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "Bestell-Referenz" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "Bestellungs-Status" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "Firma bei der die Teile bestellt werden" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "Zulieferer-Referenz" @@ -3023,7 +3109,7 @@ msgstr "Geplantes Lieferdatum für Auftrag." msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" @@ -3031,150 +3117,182 @@ msgstr "Anzahl muss größer Null sein" msgid "Part supplier must match PO supplier" msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "Nur Teile aufgegebener Bestllungen können empfangen werden" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "Zieldatum für Auftrags-Fertigstellung." -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "Versanddatum" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "Versand von" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "Bestellung kann nicht versendet werden weil er nicht anhängig ist" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "Anzahl" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "Position - Referenz" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "Position - Notizen" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "Bestellung" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "Bestellung" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "Zuliefererteil" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "Empfangen" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "Preis" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "Preis pro Einheit" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "BestandsObjekt wurde nicht zugewiesen" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann BestandsObjekt keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "Kann BestandsObjekt keiner Zeile ohne Teil hinzufügen" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für BestandsObjekt mit Seriennummer muss 1 sein" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "Position" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "Position" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "BestandsObjekt für Zuordnung auswählen" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "Bestellung bearbeiten" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "Neuer Lagerort" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "Neuen Lagerort anlegen" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "Datei zur Bestellung hochladen" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,8 +3485,8 @@ msgstr "Kein Preis" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" -msgstr "Zulieferer auswählen für %(name)s" +msgid "Select a supplier for %(name)s" +msgstr "Zulieferer auswählen für %(name)s" #: order/templates/order/order_wizard/select_parts.html:77 #: part/templates/part/set_category.html:32 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "Bestellungen auswählen oder anlegen." #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "Positionen" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "Bestellungs-Positionen" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "Position hinzufügen" @@ -3436,49 +3552,6 @@ msgstr "Position hinzufügen" msgid "Order Notes" msgstr "Notizen zur Bestellung" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "Position bearbeiten" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "Position löschen" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "Keine Positionen gefunden" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "Summe" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "Stück-Preis" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "Gesamtpreis" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "Position bearbeiten" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "Position löschen" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "Position empfangen" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "Berichte drucken" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen" +msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgstr "Ausstehende Teile für %(order)s - %(desc)s empfangen" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "Teile" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "Bestellnummer" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "Bestellt" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "Auftragsdetails" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "Kundenreferenz" @@ -3563,71 +3636,102 @@ msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar i msgid "Sales Order Items" msgstr "Auftrags-Positionen" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "Aktionen" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "Bestands-Zuordnung bearbeiten" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "Bestands-Zuordnung löschen" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "Keine passenden Positionen gefunden" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "ID" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "Summe" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "Stück-Preis" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "Gesamtpreis" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "Zugeordnet" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "Erledigt" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "PO" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "Seriennummern zuweisen" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "Lagerbestand zuweisen" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "Lagerbestand kaufen" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "Lagerbestand bauen" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "Preis berechnen" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "Position bearbeiten" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "Position löschen " -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "Position bearbeiten" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "Position löschen" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "Stückpreis aktualisieren" @@ -3814,12 +3918,28 @@ 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/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "Muss größer als 0 sein" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "Muss eine gültige Nummer sein" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "Standort für anfänglichen Bestand angeben" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "Dieses Feld ist erforderlich" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "Standard-Lagerort" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "Verfügbarer Lagerbestand" @@ -3879,7 +3999,7 @@ msgstr "Zulieferer einschließen" msgid "Include part supplier data in exported BOM" msgstr "Zulieferer-Daten in Stückliste-Export einschließen" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "Ausgangsteil" @@ -3923,391 +4043,391 @@ msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen" msgid "Input quantity for price calculation" msgstr "Menge für die Preisberechnung" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "Standard-Lagerort für Teile dieser Kategorie" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "Standard Stichwörter" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "Standard-Stichworte für Teile dieser Kategorie" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "Teil-Kategorie" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "Teil-Kategorien" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "Ungültige Auswahl für übergeordnetes Teil" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "Nächste verfügbare Seriennummern wären" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "Nächste verfügbare Seriennummer ist" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "Die neuste Seriennummer ist" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "Name des Teils" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "Ist eine Vorlage" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "Ist dieses Teil eine Vorlage?" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "Ist dieses Teil eine Variante eines anderen Teils?" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "Variante von" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "Beschreibung des Teils" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "Schlüsselwörter" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "Kategorie" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "IPN (Interne Produktnummer)" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "Revision" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "Standard Zulieferer" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "Standard Zuliefererteil" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "Standard Ablaufzeit" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Lagerbestand dieses Teils" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "Minimaler Lagerbestand" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "Minimal zulässiger Lagerbestand" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "Stock Keeping Units (SKU) für dieses Teil" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "Hat dieses Teil Tracking für einzelne Objekte?" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "Kann dieses Teil an Kunden verkauft werden?" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "Aktiv" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "Ist dieses Teil aktiv?" -#: part/models.py:836 +#: part/models.py:838 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:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "Bemerkungen - unterstüzt Markdown-Formatierung" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "Prüfsumme der Stückliste gespeichert" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "Stückliste kontrolliert von" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "BOM Kontrolldatum" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "Erstellungs-Nutzer" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "Mehrere verkaufen" -#: part/models.py:2080 +#: part/models.py:2096 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:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "Ein Test mit diesem Namen besteht bereits für dieses Teil" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "Test-Name" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "Namen für diesen Test eingeben" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "Test-Beschreibung" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "Benötigt" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "Muss dieser Test erfolgreich sein?" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "Erfordert Wert" -#: part/models.py:2136 +#: part/models.py:2152 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:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "Anhang muss eingegeben werden" -#: part/models.py:2142 +#: part/models.py:2158 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:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" -msgstr "" +msgstr "Ungültiges Zeichen im Vorlagename ({c})" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "Vorlagen-Name des Parameters muss eindeutig sein" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "Name des Parameters" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "Einheit des Parameters" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "Parameter Vorlage" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "Wert" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "Parameter Wert" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "Standard-Wert" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "Ausgangsteil auswählen" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "Untergeordnetes Teil" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "Teil für die Nutzung in der Stückliste auswählen" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "Optional" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "Diese Stücklisten-Position ist optional" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "Überschuss" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "Geschätzter Ausschuss (absolut oder prozentual)" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "Referenz der Postion auf der Stückliste" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "Notizen zur Stücklisten-Position" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "Prüfsumme" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "Prüfsumme der Stückliste" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "Geerbt" -#: part/models.py:2359 +#: part/models.py:2375 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:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "Varianten zulassen" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "Lagerbestand von Varianten kann für diese Stücklisten-Position verwendet werden" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "Menge muss eine Ganzzahl sein" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "Zuliefererteil muss festgelegt sein" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "Stücklisten-Position" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "Teil 1" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "Teil 2" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "verknüpftes Teil auswählen" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?" @@ -4317,18 +4437,18 @@ msgstr "Sie haben keine Berechtigung zum Bearbeiten der Stückliste." #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" -msgstr "Die Stückliste für %(part)s hat sich geändert und muss kontrolliert werden.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" +msgstr "Die Stückliste für %(part)s hat sich geändert und muss kontrolliert werden.
" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" -msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am %(check_date)s kontrolliert" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgstr "Die Stückliste für %(part)s wurde zuletzt von %(checker)s am %(check_date)s kontrolliert" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." -msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert" +msgid "The BOM for %(part)s has not been validated." +msgstr "Die Stückliste für %(part)s wurde noch nicht kontrolliert." #: part/templates/part/bom.html:27 msgid "Remove selected BOM items" @@ -4374,34 +4494,35 @@ msgstr "Dieses Teil hat bereits eine Stückliste" msgid "Select Part" msgstr "Teil auswählen" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" -msgstr "Stückliste-Datei hochgeladen" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" +msgstr "Zurück zur Stückliste" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "Stückliste hochladen" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "Anforderungen für Stückliste-Datei" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "Die Stückliste-Datei muss die aufgeführten Spalten enthalten; siehe" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "Vorlage für Stückliste" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "Jedes Teil muss bereits in der Datenbank bestehen" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" -msgstr "Bestätigen Sie das die Stückliste für
%(part)s korrekt ist" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgstr "Bestätigen Sie das die Stückliste für
%(part)s korrekt ist" #: part/templates/part/bom_validate.html:9 msgid "This will validate each line in the BOM." @@ -4435,7 +4556,7 @@ msgstr "Pfad zur Kategorie" msgid "Category Description" msgstr "Kategorie-Beschreibung" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "Teile (inklusive Unter-Kategorien)" msgid "Export Part Data" msgstr "Teile-Daten exportieren" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "Exportieren" @@ -4470,28 +4591,32 @@ msgid "Set Category" msgstr "Teil-Kategorie auswählen" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "Label drucken" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "Exportieren" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "Listenansicht anzeigen" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "Rasteransicht anzeigen" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "Teilparameter" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" -msgstr "" +msgstr "Teil-Kategorie hinzufügen" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" -msgstr "" +msgstr "Teil hinzufügen" #: part/templates/part/category_delete.html:5 msgid "Are you sure you want to delete category" @@ -4533,7 +4658,7 @@ msgstr "Wenn diese Kat. gelöscht wird, werden diese Teile in die oberste Kat. v msgid "Import Parts" msgstr "Teile importieren" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "Teil duplizieren" @@ -4554,8 +4679,8 @@ msgstr "Teil evtl. Duplikat dieser Teile" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" -msgstr "%(full_name)s - %(desc)s (%(match_per)s%% übereinstimmend)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgstr "%(full_name)s - %(desc)s (%(match_per)s%% übereinstimmend)" #: part/templates/part/detail.html:16 msgid "Part Stock" @@ -4563,10 +4688,10 @@ msgstr "Teilbestand" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" -msgstr "Lagerbestand aller Varianten von %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" +msgstr "Lagerbestand aller Varianten von %(full_name)s" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "Teil Test-Vorlagen" @@ -4584,9 +4709,9 @@ msgstr "Neue Bestellung" #: part/templates/part/detail.html:90 msgid "Sales Order Allocations" -msgstr "" +msgstr "Verkaufsauftragszuweisungen" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "Teil Varianten" @@ -4602,8 +4727,8 @@ msgstr "neue Variante anlegen" msgid "Add new parameter" msgstr "Parameter hinzufügen" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "Verknüpfte Teile" @@ -4611,8 +4736,8 @@ msgstr "Verknüpfte Teile" msgid "Add Related" msgstr "Verknüpftes Teil hinzufügen" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "Stückliste" @@ -4630,7 +4755,7 @@ msgstr "Neuen Bauauftrag beginnen" #: part/templates/part/detail.html:274 msgid "Build Order Allocations" -msgstr "" +msgstr "Bauauftragszuweisungen" #: part/templates/part/detail.html:283 msgid "Part Suppliers" @@ -4644,50 +4769,50 @@ msgstr "Teil-Hersteller" msgid "Delete manufacturer parts" msgstr "Herstellerteile löschen" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "Ausgewählte Stücklistenpositionen löschen?" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "Alle ausgewählte Stücklistenpositionen werden gelöscht" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "Stücklisten-Position anlegen" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "Testergebnis-Vorlage hinzufügen" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "Testergebnis-Vorlage bearbeiten" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "Testergebnis-Vorlage löschen" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "Teilenotizen bearbeiten" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" -msgstr "" +msgstr "Stückpreis Einkauf - %(currency)s" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" -msgstr "" +msgstr "Stückpreis Differenz - %(currency)s" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" -msgstr "" +msgstr "Stückpreis Zulieferer - %(currency)s" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "Stückpreis - %(currency)s" @@ -4701,19 +4826,19 @@ msgstr "Unzureichende Benutzerrechte." msgid "Import Parts from File" msgstr "Teile aus Datei importieren" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "Varianten" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "Benutzt in" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "Preise" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "Testvorlagen" @@ -4721,148 +4846,149 @@ msgstr "Testvorlagen" msgid "Part List" msgstr "Teileliste" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "Teil ist Vorlage (Varianten können von diesem Teil erstellt werden)" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "Teil kann aus anderen Teilen angefertigt werden" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "Teil kann in Baugruppen benutzt werden" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "Teil wird per Seriennummer verfolgt" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "Teil kann von externen Zulieferern gekauft werden" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "Teil kann an Kunden verkauft werden" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "Teil ist virtuell (kein physisches Teil)" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "Inaktiv" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "Teil favorisieren" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "Barcode Aktionen" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "QR-Code anzeigen" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "Label drucken" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "Kosteninformationen ansehen" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "Bestands-Aktionen" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "Lagerbestand zählen" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "Teilbestand verschieben" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "Teile Aktionen" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "Teil duplizieren" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "Teil bearbeiten" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "Teil löschen" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "Dieses Teil ist eine Variante von %(link)s" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "Auf Lager" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "Für Bauaufträge benötigt" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "Benötigt für Aufträge" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "Zu Bauaufträgen zugeordnet" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "Herstellbar" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "Im Bau" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "Teildetails anzeigen" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "letzte Seriennummer" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Berechnen" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" -msgstr "" +msgstr "Keine passenden Bilder gefunden" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" -msgstr "" - -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" +msgstr "Teildetails ausblenden" #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" @@ -4870,46 +4996,54 @@ msgstr "Zulieferer-Preise" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "Stückpreis" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "Gesamtkosten" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "Keine Zulieferer-Preise verfügbar" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "Stücklistenpreise" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "Kaufpreis pro Einheit" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "Gesamter Kaufpreis" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "Anmerkung: Stücklistenbepreisung für dieses Teil ist unvollständig" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "Keine Stücklisten-Preise verfügbar" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "Interner Preis" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "Keine Preise für dieses Teil verfügbar" @@ -4919,8 +5053,8 @@ msgstr "Aus vorhandenen Bildern auswählen" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "Sind Sie sicher, dass Sie das Teil '%(full_name)s' löschen wollen?" +msgid "Are you sure you want to delete part '%(full_name)s'?" +msgstr "Sind Sie sicher, dass Sie das Teil '%(full_name)s' löschen wollen?" #: part/templates/part/partial_delete.html:12 #, python-format @@ -4963,53 +5097,53 @@ msgstr "Einkaufpreis anzeigen" msgid "Show BOM cost" msgstr "Stücklisten-Kosten" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "Verkaufskosten anzeigen" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "Verkaufspreis anzeigen" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "Berechnungsparameter" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "Zuliefererkosten" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "Zur Übersicht gehen" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "Bestandspreise" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "Für dieses Teil sind keine Bestandspreise verfügbar." -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "Interne Kosten" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" -msgstr "" +msgstr "Interne Preisspanne hinzufügen" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "Stücklistenkosten" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "Verkaufskosten" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar." @@ -5017,8 +5151,8 @@ msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar." msgid "Set category for the following parts" msgstr "Kategorie für Teile setzen" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "Kein Bestand" @@ -5032,10 +5166,10 @@ msgstr "Neue Teilevariante anlegen" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." -msgstr "Neue Variante von Vorlage anlegen '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." +msgstr "Neue Variante von Vorlage anlegen '%(full_name)s'." -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "Unbekannte Datenbank" @@ -5116,53 +5250,53 @@ msgstr "Teil wurde gelöscht" msgid "Part Pricing" msgstr "Teilbepreisung" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "Teilparametervorlage anlegen" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "Teilparametervorlage bearbeiten" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "Teilparametervorlage löschen" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "Teil-Kategorie bearbeiten" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "Teil-Kategorie löschen" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "Teil-Kategorie wurde gelöscht" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "Kategorieparametervorlage anlegen" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "Kategorieparametervorlage bearbeiten" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "Kategorieparametervorlage löschen" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "neue Preisstaffel hinzufügt" -#: part/views.py:1802 -msgid "Edit Internal Price Break" -msgstr "" - #: part/views.py:1810 +msgid "Edit Internal Price Break" +msgstr "Interne Preisspanne bearbeiten" + +#: part/views.py:1818 msgid "Delete Internal Price Break" -msgstr "" +msgstr "Interne Preisspanne löschen" #: report/models.py:182 msgid "Template name" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "Testergebnisse" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "Test" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "Ergebnis" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "Datum" @@ -5288,51 +5422,51 @@ msgstr "bestanden" msgid "Fail" msgstr "fehlgeschlagen" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "Falsch formatierte Daten" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "Ungültige Menge" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "Menge muss größer als Null sein" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "Bestand für {n} Objekte geändert" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "Die angegebene Menge überschreitet die Lagermenge" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "Gültiger Standort muss angegeben werden" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "{n} Teile nach {loc} bewegt" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "Ablaufdatum" @@ -5384,258 +5518,266 @@ msgstr "nicht mehr verbauen bestätigen" msgid "Confirm removal of installed stock items" msgstr "Entfernen der verbauten BestandsObjekt bestätigen" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "Besitzer" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "Besitzer auswählen" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "Ein BestandsObjekt mit dieser Seriennummer existiert bereits" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "Teile-Typ ('{pf}') muss {pe} sein" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "Teil kann nicht zu sich selbst gehören" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "Teil muss eine Referenz haben wenn is_building wahr ist" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "Referenz verweist nicht auf das gleiche Teil" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "Eltern-BestandsObjekt" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "Basis-Teil" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "Passendes Zuliefererteil für dieses BestandsObjekt auswählen" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Bestand-Lagerort" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "Die Verpackung dieses BestandsObjekt ist gelagert in" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "verbaut in" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "Ist dieses Teil in einem anderen verbaut?" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "Losnummer für dieses BestandsObjekt" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "Bestand" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "Quellbau" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "Bauauftrag für dieses BestandsObjekt" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "Quelle Bestellung" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "Bestellung für dieses BestandsObjekt" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "Ziel-Auftrag" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "Ablaufdatum für BestandsObjekt. Bestand wird danach als abgelaufen gekennzeichnet" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "Löschen wenn leer" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "Dieses BestandsObjekt löschen wenn Bestand aufgebraucht" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "BestandsObjekt-Notizen" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "Preis für eine Einheit bei Einkauf" -#: stock/models.py:1051 +#: stock/models.py:599 +msgid "Scheduled for deletion" +msgstr "" + +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" +msgstr "" + +#: stock/models.py:1063 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1057 +#: stock/models.py:1069 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1063 +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "Seriennummern muss eine Liste von Ganzzahlen sein" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seriennummern {exists} existieren bereits" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "BestandsObjekt kann nicht bewegt werden, da kein Bestand vorhanden ist" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "Name des Tests" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "Test Notizen" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "Informationen zum Lagerbestands-Tracking" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "neuer Eintrag" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "Kind-BestandsObjekt" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "Dieses BestandsObjekt hat keine Kinder" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "Testdaten" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "Testdaten löschen" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "Testdaten hinzufügen" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "Test-Bericht" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "Installierte BestandsObjekte" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "BestandsObjekt installiert" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "Testergebnis hinzufügen" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "Testergebnis bearbeiten" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "Testergebnis löschen" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "abgelaufen" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "überfällig" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "Barcode abhängen" @@ -5695,11 +5837,11 @@ msgstr "Deinstallieren" #: stock/templates/stock/item_base.html:133 msgid "Install stock item" -msgstr "" +msgstr "BestandsObjekt installieren" #: stock/templates/stock/item_base.html:133 msgid "Install" -msgstr "" +msgstr "Installieren" #: stock/templates/stock/item_base.html:145 msgid "Convert to variant" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "nächste Seite" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "Kein Lagerort gesetzt" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Dieses BestandsObjekt läuft am %(item.expiry_date)s ab" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "Zuletzt aktualisiert" @@ -5825,12 +5967,12 @@ msgstr "Sind Sie sicher, dass Sie dieses BestandsObjekt löschen wollen?" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." -msgstr "Damit werden %(qty)s Elemente vom Bestand von %(full_name)s entfernt." +msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgstr "Damit werden %(qty)s Elemente vom Bestand von %(full_name)s entfernt." #: stock/templates/stock/item_install.html:8 msgid "Install another Stock Item into this item." -msgstr "" +msgstr "Ein weiteres BestandsObjekt in dieses Teil installiert." #: stock/templates/stock/item_install.html:11 #: stock/templates/stock/item_install.html:24 @@ -5975,8 +6117,8 @@ msgstr "BestandsObjekt umwandeln" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "BestandsObjekt ist aktuell eine Instanz von %(part)s" +msgid "This stock item is current an instance of %(part)s" +msgstr "BestandsObjekt ist aktuell eine Instanz von %(part)s" #: stock/templates/stock/stockitem_convert.html:9 msgid "It can be converted to one of the part variants listed below." @@ -6039,7 +6181,7 @@ msgstr "BestandsObjekt-QR-Code" msgid "Uninstall Stock Items" msgstr "BestandsObjekte deinstallieren" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "Bestands-Anpassung bestätigen" @@ -6059,7 +6201,7 @@ msgstr "Neuen Lagerort erstellen" msgid "Serialize Stock" msgstr "Lagerbestand erfassen" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "Neues BestandsObjekt hinzufügen" @@ -6171,11 +6313,11 @@ msgstr "Suchergebnisse" msgid "Enter a search query" msgstr "Eine Sucheanfrage eingeben" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "an Kunde versand" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "Kein Lagerort gesetzt" @@ -6240,7 +6382,7 @@ msgstr "Startseite" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "Suche" @@ -6248,16 +6390,16 @@ msgstr "Suche" #: templates/InvenTree/settings/navbar.html:33 #: templates/InvenTree/settings/navbar.html:35 msgid "Labels" -msgstr "" +msgstr "Labels" #: templates/InvenTree/settings/navbar.html:39 #: templates/InvenTree/settings/navbar.html:41 msgid "Reports" -msgstr "" +msgstr "Berichte" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "Einstellungen" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "Keine Kategorie-Parametervorlagen gefunden" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "Vorlage bearbeiten" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "Vorlage löschen" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "Keine Teilparametervorlagen gefunden" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "Kontoeinstellungen" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "Bearbeiten" @@ -6397,11 +6540,11 @@ msgstr "Spracheinstellung" #: templates/InvenTree/settings/user.html:89 #, python-format msgid "%(lang_translated)s%% translated" -msgstr "" +msgstr "%(lang_translated)s%% übersetzt" #: templates/InvenTree/settings/user.html:91 msgid "No translations available" -msgstr "" +msgstr "Keine Übersetzungen verfügbar" #: templates/InvenTree/settings/user.html:98 msgid "Set Language" @@ -6409,12 +6552,12 @@ msgstr "Sprache festlegen" #: templates/InvenTree/settings/user.html:103 msgid "Help the translation efforts!" -msgstr "" +msgstr "Hilf bei der Übersetzung!" #: templates/InvenTree/settings/user.html:104 #, python-format msgid "Native language translation of the InvenTree web application is community contributed via crowdin. Contributions are welcomed and encouraged." -msgstr "" +msgstr "Die Übersetzung von InvenTree wird von Nutzern mit Crowdin betrieben. Wir ermutigen zur und freuen uns über jeden Mithilfe!" #: templates/InvenTree/settings/user_homepage.html:9 msgid "Home Page Settings" @@ -6422,7 +6565,7 @@ msgstr "Startseite-Einstellungen" #: templates/InvenTree/settings/user_labels.html:9 msgid "Label Settings" -msgstr "" +msgstr "Labeleinstellungen" #: templates/InvenTree/settings/user_search.html:9 msgid "Search Settings" @@ -6436,65 +6579,69 @@ msgstr "InvenTree-Versionsinformationen" msgid "InvenTree Version" msgstr "InvenTree-Version" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "Aktuell" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "Aktualisierung verfügbar" -#: templates/about.html:34 -msgid "API Version" -msgstr "API-Version" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "Python-Version" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "Django-Version" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "Commit-Hash" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "Commit-Datum" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "InvenTree-Dokumentation" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "API-Version" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "Python-Version" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "Django-Version" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "Code auf GitHub ansehen" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "Danksagung" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "Mobile App" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "Fehlerbericht senden" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "In die Zwischenablage kopieren" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "Versionsinformationen kopieren" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "Schliessen" @@ -6515,1358 +6662,1390 @@ msgstr "Der angegebene Server muss erreichbar sein" msgid "Remote image must not exceed maximum allowable file size" msgstr "Das Bild darf nicht größer als die maximal-erlaubte Größe sein" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "BestandsObjekt ausgewählt" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "Bericht-Vorlage auswählen" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "Test-Bericht-Vorlage auswählen" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "BestandsObjekte auswählen" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "BestandsObjekt(e) müssen vor dem Berichtsdruck ausgewählt werden" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "Keine Berichte gefunden" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "Keine Berichtsvorlagen für ausgewählte BestandsObjekt(e) gefunden" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "Bauauftrag auswählen" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "Bauauftrag muss vor dem Berichtsdruck ausgewählt werden" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "Keine Berichtvorlagen für ausgewählten Bauauftrag gefunden" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Teile auswählen" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "Teil muss vor dem Berichtsdruck ausgewählt werden" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "Keine Berichtvorlagen für ausgewählte Teile gefunden" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "Bestellungen auswählen" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "Bestellung muss vor dem Berichtsdruck ausgewählt werden" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "Keine Berichtvorlagen für ausgewählte Bestellungen gefunden" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "Aufträge auswählen" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "Auftrag muss vor dem Berichtsdruck ausgewählt werden" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "Keine Antwort" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "keine Antwort vom InvenTree Server" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "Fehler 400: Fehlerhafte Anfrage" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "Fehler-Code 400 zurückgegeben" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "Fehler 401: Nicht Angemeldet" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "Authentication Kredentials nicht angegeben" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "Fehler 403: keine Berechtigung" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "Fehlende Berechtigung für diese Aktion" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "Fehler 404: Ressource nicht gefunden" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "Fehler 408: Zeitüberschreitung" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "Verbindungszeitüberschreitung bei der Datenanforderung" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "Unbehandelter Fehler-Code" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "Fehler-Code" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "Keine Anhänge gefunden" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "Hochladedatum" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "Anhang bearbeiten" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "Anhang löschen" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "Hier den Barcode scannen" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "Barcode-Daten eingeben" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "Barcode" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "Optionale Notizen zu Bestandsübertragung eingeben" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "Notizen eingeben" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "Server-Fehler" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "Unbekannte Antwort von Server erhalten" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "Ungültige Antwort von Server" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "Barcode unterhalb scannen" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "Barcode scannen" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "keine URL in der Antwort" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "Barcode mit BestandsObjekt verknüpfen" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "Dadurch wird die Verknüpfung zwischen diesem BestandsObjekt und dem Barcode entfernt" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "Entfernen" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "BestandsObjekt entfernen" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "BestandsObjekte in Lagerort buchen" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "Einbuchen" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "Fehler bei Bestandsübertragung" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "BestandsObjekte bereits gescannt" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "BestandsObjekt besteht bereits in diesem Lagerort" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "BestandsObjekt hinzugefügt" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "Barcode entspricht keinem BestandsObjekt" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "In Lagerorten buchen" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "Barcode entspricht keinem Lagerort" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "Unterbaugruppe öffnen" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "Kaufpreisspanne" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "Durchschnittlicher Kaufpreis" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "Stückliste anzeigen" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "Stücklisten-Position kontrollieren" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "Diese Position wurde kontrolliert" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "Stücklisten-Position bearbeiten" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "Stücklisten-Position löschen" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "Bauauftrag bearbeiten" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "Bauauftrag erstellen" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "Teilbestand automatisch Endprodukt zuweisen" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "Bestand von Endpordukt zurücknehmen" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "Endprodukt fertigstellen" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "Endprodukt entfernen" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "Standort nicht angegeben" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "Neues BestandsObjekt" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "benötigtes Teil" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "Anzahl pro" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "Keine Bauaufträge passen zur Anfrage" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "Auswählen" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "Bauauftrag ist überfällig" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "Keine Benutzerinformation" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "Keine Information" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "Keine Teile zugeordnet zu" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" -msgstr "" +msgstr "Hersteller hinzufügen" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "Herstellerteil hinzufügen" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "Herstellerteil ändern" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "Herstellerteil löschen" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" -msgstr "" +msgstr "Zulieferer hinzufügen" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "Zuliefererteil hinzufügen" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "Zuliefererteil bearbeiten" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "Zuliefererteil entfernen" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "Firma bearbeiten" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "Neue Firma hinzufügen" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "Teile geliefert" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "Hersteller-Teile" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "Keine Firmeninformation gefunden" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "Die folgenden Herstellerteile werden gelöscht" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "Herstellerteile löschen" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "Keine Herstellerteile gefunden" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "Vorlagenteil" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "Baugruppe" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "Keine Parameter gefunden" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "Parameter bearbeiten" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "Parameter löschen" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "Keine Zuliefererteile gefunden" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "ja" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "nein" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "Filter auswählen" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" -msgstr "" +msgstr "Daten neu laden" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "Filter hinzufügen" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "Filter entfernen" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "Filter anlegen" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "Aktion verboten" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "Erstellvorgang nicht erlaubt" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "Updatevorgang nicht erlaubt" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "Löschvorgang nicht erlaubt" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "Anzeigevorgang nicht erlaubt" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "Fehler in Formular" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "Suche" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "Eingabe leeren" -#: templates/js/translated/label.js:11 +#: templates/js/translated/helpers.js:19 +msgid "YES" +msgstr "JA" + +#: templates/js/translated/helpers.js:21 +msgid "NO" +msgstr "NEIN" + +#: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "BestandsObjekt(e) müssen ausgewählt sein bevor Labels gedruckt werden können" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 msgid "No Labels Found" msgstr "Keine Labels gefunden" -#: templates/js/translated/label.js:30 +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "Keine Labels die zu BestandsObjekt(e) passen gefunden" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "Bestands-Lagerort auswählen" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "Bestands-Lagerort(e) müssen ausgewählt sein um Labels zu drucken" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "Keine Labels für die ausgewählten Bestands-Lagerort(e) gefunden" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "Teile(e) müssen ausgewählt sein bevor Labels gedruckt werden können" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "Keine Labels zu den ausgewählten Teilen gefunden" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "BestandsObjekte ausgewählt" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "Label auswählen" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "Label-Vorlage auswählen" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "Abbrechen" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "Abschicken" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "Formulartitel" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "Warte auf Server..." -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "Fehler-Informationen anzeigen" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "Akzeptieren" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "Lade Daten" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "ungültige Antwort vom Server" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "Formulardaten fehlen bei Serverantwort" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "Formulardaten fehlerhaft" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "JSON Antwort enthält keine Formulardaten" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "Fehler 400: Ungültige Anfrage" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "Fehler 400 von Server erhalten" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "Fehler bei Formulardaten-Anfrage" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "Firmen-ID" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "Standort-ID" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "Bauauftrag-ID" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "Teil-ID" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "Kategorie-ID" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "Herstellerteil-ID" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "Zuliefererteil-ID" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" -msgstr "" +msgstr "Kunden hinzufügen" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "Auftrag anlegen" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "Keine Bestellungen gefunden" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "Bestellung überfällig" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "Keine Positionen gefunden" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "Position löschen" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "Position empfangen" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "Keine Aufträge gefunden" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "Ungültiger Kunde" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "JA" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "NEIN" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" +#: templates/js/translated/part.js:49 +msgid "Part Attributes" +msgstr "Teileigenschaften" #: templates/js/translated/part.js:53 -msgid "Part Attributes" -msgstr "" - -#: templates/js/translated/part.js:96 msgid "Part Creation Options" -msgstr "" +msgstr "Erstellungsoptionen für Teile" -#: templates/js/translated/part.js:102 +#: templates/js/translated/part.js:57 +msgid "Part Duplication Options" +msgstr "Einstellungen für Teilkopien" + +#: templates/js/translated/part.js:61 +msgid "Supplier Options" +msgstr "Zuliefereroptionen" + +#: templates/js/translated/part.js:75 +msgid "Add Part Category" +msgstr "Teil-Kategorie hinzufügen" + +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" +msgstr "Anfänglichen Bestand erstellen" + +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" +msgstr "Anfänglichen Bestand für dieses Teil erstellen" + +#: templates/js/translated/part.js:167 msgid "Initial Stock Quantity" -msgstr "" +msgstr "Start-Bestandsmenge" -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" +msgstr "Menge des anfänglichen Bestands für dieses Teil angeben" -#: templates/js/translated/part.js:109 +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "Zielstandort auswählen" + +#: templates/js/translated/part.js:186 msgid "Copy Category Parameters" -msgstr "" +msgstr "Kategorieparameter kopieren" -#: templates/js/translated/part.js:110 +#: templates/js/translated/part.js:187 msgid "Copy parameter templates from selected part category" msgstr "" -#: templates/js/translated/part.js:120 -msgid "Part Duplication Options" +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" +msgstr "Zuliefererdaten hinzufügen" + +#: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" msgstr "" -#: templates/js/translated/part.js:131 +#: templates/js/translated/part.js:252 msgid "Copy Image" -msgstr "" +msgstr "Bild kopieren" -#: templates/js/translated/part.js:132 +#: templates/js/translated/part.js:253 msgid "Copy image from original part" -msgstr "" +msgstr "Bild vom Originalteil kopieren" -#: templates/js/translated/part.js:138 +#: templates/js/translated/part.js:260 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: templates/js/translated/part.js:139 +#: templates/js/translated/part.js:261 msgid "Copy bill of materials from original part" -msgstr "" +msgstr "Stückliste vom Originalteil kopieren" -#: templates/js/translated/part.js:145 +#: templates/js/translated/part.js:268 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: templates/js/translated/part.js:146 +#: templates/js/translated/part.js:269 msgid "Copy parameter data from original part" -msgstr "" +msgstr "Parameterdaten vom Originalteil kopieren" -#: templates/js/translated/part.js:158 +#: templates/js/translated/part.js:282 msgid "Parent part category" -msgstr "" +msgstr "Übergeordnete Teilkategorie" -#: templates/js/translated/part.js:196 +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "Teil bearbeiten" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "virtuelles Teil" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "Favoritenteil" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "Verkäufliches Teil" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "Keine Varianten gefunden" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "Keine Teile gefunden" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "Keine Kategorie" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "Bestand niedrig" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "Pfad" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "Keine zur Anfrage passenden Testvorlagen" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "Testergebnis bearbeiten" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "Testergebnis löschen" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "Dieses Testergebnis ist für ein Hauptteil" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "Keine ${human_name} Informationen gefunden" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "${human_name} bearbeiten" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "${human_name} löschen" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "Einzelpreis" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "Einzelpreisdifferenz" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" -msgstr "" +msgstr "Übergeordneter Lagerort" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "Bestand exportieren" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "Format" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "Dateiformat auswählen" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" -msgstr "" +msgstr "Einschließlich Unterstandorte" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "Bestand verschieben" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "Verschieben" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "Bestand zählen" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "Anzahl" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "Bestand entfernen" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "Entfernen" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "Bestand hinzufügen" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "Hinzufügen" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "Bestand löschen" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "Bestandsanzahl angeben" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "Sie müssen mindestens einen Lagerbestand auswählen" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "Zielstandort auswählen" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" -msgstr "" +msgstr "Bestandsbewegungsnotizen" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "ERFOLGREICH" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "FEHLGESCHLAGEN" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "KEIN ERGEBNIS" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "Testergebnis hinzufügen" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "Keine Testergebnisse gefunden" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "Testdatum" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "In Arbeit" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "In BestandsObjekt installiert" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "Auftrag zugewiesen" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "Keine zur Anfrage passenden BestandsObjekte" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "Teile" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "lose" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "Lagerorte" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "unbekannter Lagerort" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "BestandsObjekt wird produziert" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "BestandsObjekt wurde Auftrag zugewiesen" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "BestandsObjekt wurde Kunden zugewiesen" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "BestandsObjekt ist abgelaufen" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "BestandsObjekt läuft demnächst ab" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "BestandsObjekt zugewiesen" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "BestandsObjekt in anderem Element verbaut" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "BestandsObjekt abgewiesen" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "BestandsObjekt verloren" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "BestandsObjekt zerstört" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "gelöscht" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "Inventur" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "Keine zur Anfrage passenden BestandsObjekte" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "Teile" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "lose" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "Lagerorte" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "unbekannter Lagerort" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "Status" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "Status setzen" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "Status Code setzen" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "Status Code muss ausgewählt werden" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "Ungültiges Datum" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "Standort nicht mehr vorhanden" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "Bestellung existiert nicht mehr" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "Kunde existiert nicht mehr" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "Lagerbestand existiert nicht mehr" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "Hinzugefügt" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "Entfernt" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "Tracking-Eintrag bearbeiten" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "Tracking-Eintrag löschen" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "Keine installierten Elemente" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "Seriennummer" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "Lagerbestand entfernen" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" -msgstr "" +msgstr "Baugruppe" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "überprüft" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "Bestand an Varianten zulassen" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "Unter-Lagerorte einschließen" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "Lagerorte einschließen" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "Hat Seriennummer" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "Seriennummer >=" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "Seriennummer größer oder gleich" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "Seriennummer <=" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "Seriennummern kleiner oder gleich" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "Seriennummer" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "Losnummer" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "Aktive Teile" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "Bestand aktiver Teile anzeigen" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "Teil ist eine Baugruppe" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "Ist zugeordnet" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "Teil wurde zugeordnet" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "Bestand in Unter-Lagerorten einschließen" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "Zeige aufgebrauchte BestandsObjekte" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "Zeige Objekte welche im Lager sind" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "In Arbeit" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "Elemente, die in Produktion sind, anzeigen" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "Varianten einschließen" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "BestandsObjekte für Teil-Varianten einschließen" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "Installiert" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "BestandsObjekte, die in anderen Elementen verbaut sind, anzeigen" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "zeige zu Kunden zugeordnete Einträge" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "Status" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "Hat Einkaufspreis" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" -msgstr "" +msgstr "Bestand mit Einkaufspreis anzeigen" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "Zeige abgelaufene BestandsObjekte" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "Bestand, der bald ablaufen, anzeigen" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "Bauauftrags-Status" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "Bestellstatus" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "ausstehend" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "Teile in Unterkategorien einschließen" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "Hat IPN" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "Teil hat Interne Teilenummer" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "Aktive Teile anzeigen" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "verfügbarer Lagerbestand" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "Favorit" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "Käuflich" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "Lade Daten" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "Zeilen pro Seite" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "zeige" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "bis" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "von" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "Zeilen" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "Keine passenden Ergebnisse gefunden" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "Zeige/Verstecke Pagination" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "Neu laden" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "umschalten" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "Spalten" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "Alle" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "Navigation ein-/ausklappen" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "Kaufen" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "Verkaufen" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "Barcode scannen" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "Admin" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "Ausloggen" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "Einloggen" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "Über InvenTree" diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po index fb7695ddea..b9d642169d 100644 --- a/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -36,7 +36,7 @@ msgstr "" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -102,152 +102,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" +#: InvenTree/serializers.py:244 +msgid "Filename" msgstr "" #: InvenTree/settings.py:523 -msgid "Hebrew" +msgid "German" msgstr "" #: InvenTree/settings.py:524 -msgid "Italian" +msgid "Greek" msgstr "" #: InvenTree/settings.py:525 -msgid "Japanese" +msgid "English" msgstr "" #: InvenTree/settings.py:526 -msgid "Korean" +msgid "Spanish" msgstr "" #: InvenTree/settings.py:527 -msgid "Dutch" +msgid "French" msgstr "" #: InvenTree/settings.py:528 -msgid "Norwegian" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:529 -msgid "Polish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:530 -msgid "Russian" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:531 -msgid "Swedish" +msgid "Korean" msgstr "" #: InvenTree/settings.py:532 -msgid "Thai" +msgid "Dutch" msgstr "" #: InvenTree/settings.py:533 -msgid "Turkish" +msgid "Norwegian" msgstr "" #: InvenTree/settings.py:534 -msgid "Vietnamese" +msgid "Polish" msgstr "" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po index 2ca3808dcb..90d2d28be0 100644 --- a/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,7 +37,7 @@ msgstr "" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" @@ -74,7 +74,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -103,152 +103,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" +#: InvenTree/serializers.py:244 +msgid "Filename" msgstr "" #: InvenTree/settings.py:523 -msgid "Hebrew" +msgid "German" msgstr "" #: InvenTree/settings.py:524 -msgid "Italian" +msgid "Greek" msgstr "" #: InvenTree/settings.py:525 -msgid "Japanese" +msgid "English" msgstr "" #: InvenTree/settings.py:526 -msgid "Korean" +msgid "Spanish" msgstr "" #: InvenTree/settings.py:527 -msgid "Dutch" +msgid "French" msgstr "" #: InvenTree/settings.py:528 -msgid "Norwegian" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:529 -msgid "Polish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:530 -msgid "Russian" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:531 -msgid "Swedish" +msgid "Korean" msgstr "" #: InvenTree/settings.py:532 -msgid "Thai" +msgid "Dutch" msgstr "" #: InvenTree/settings.py:533 -msgid "Turkish" +msgid "Norwegian" msgstr "" #: InvenTree/settings.py:534 -msgid "Vietnamese" +msgid "Polish" msgstr "" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -373,7 +402,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -433,27 +462,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -510,8 +539,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -523,19 +552,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -543,13 +571,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -590,13 +619,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -605,13 +636,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -650,7 +681,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -658,8 +689,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -670,14 +701,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -696,15 +726,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -712,12 +741,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -765,7 +795,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -773,7 +803,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -781,16 +811,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -798,7 +828,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -809,9 +839,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -822,34 +852,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -882,11 +911,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -900,8 +929,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -913,9 +942,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -937,12 +966,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -994,7 +1023,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1006,9 +1035,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1058,14 +1087,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1149,7 +1178,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1173,9 +1202,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1185,16 +1214,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1202,7 +1231,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1226,7 +1255,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1239,8 +1268,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1289,8 +1318,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1299,48 +1328,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1373,7 +1402,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1502,9 +1531,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1540,7 +1569,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1557,546 +1586,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2124,7 +2201,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2155,7 +2232,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2170,244 +2247,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2421,7 +2503,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2436,7 +2518,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2461,16 +2543,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2491,8 +2573,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2500,106 +2582,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2610,17 +2692,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2635,9 +2717,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2650,8 +2732,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2660,8 +2742,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2677,7 +2759,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2694,18 +2776,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2718,41 +2800,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2776,13 +2858,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2790,11 +2872,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2818,8 +2900,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2828,7 +2910,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2930,6 +3012,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2979,11 +3065,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2992,7 +3078,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3024,7 +3110,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3032,150 +3118,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3228,14 +3346,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3337,7 +3453,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3370,7 +3486,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3387,7 +3503,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3426,9 +3542,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3437,49 +3553,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3487,18 +3560,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3512,7 +3585,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3541,7 +3614,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3564,71 +3637,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3815,12 +3919,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3880,7 +4000,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3924,391 +4044,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4318,17 +4438,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4375,33 +4495,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4436,7 +4557,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4450,7 +4571,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4471,26 +4592,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4534,7 +4659,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4555,7 +4680,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4564,10 +4689,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4587,7 +4712,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4603,8 +4728,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4612,8 +4737,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4645,50 +4770,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4702,19 +4827,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4722,195 +4847,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4920,7 +5054,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4964,53 +5098,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5018,8 +5152,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5033,10 +5167,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5117,51 +5251,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5267,17 +5401,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5289,51 +5423,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5385,258 +5519,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5769,7 +5911,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5796,7 +5938,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5826,7 +5968,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5976,7 +6118,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6040,7 +6182,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6060,7 +6202,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6172,11 +6314,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6241,7 +6383,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6258,7 +6400,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6333,16 +6475,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6359,6 +6501,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6437,65 +6580,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6516,1358 +6663,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po index bfad560e33..b66b45bb37 100644 --- a/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -36,7 +36,7 @@ msgstr "Ingrese la fecha" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Confirmar" @@ -71,16 +71,16 @@ msgstr "Seleccionar Categoría" #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" -msgstr "" +msgstr "Número de serie duplicado: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "Cantidad proporcionada no válida" #: InvenTree/helpers.py:411 msgid "Empty serial number string" -msgstr "" +msgstr "No se ha proporcionado un número de serie" #: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 #: InvenTree/helpers.py:464 @@ -91,7 +91,7 @@ msgstr "Grupo no válido: un {g}" #: InvenTree/helpers.py:469 #, python-brace-format msgid "Duplicate serial: {g}" -msgstr "" +msgstr "Número de serie duplicado: {g}" #: InvenTree/helpers.py:477 msgid "No serial numbers found" @@ -100,168 +100,197 @@ msgstr "Numeros de serie no encontrados" #: InvenTree/helpers.py:481 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" -msgstr "" +msgstr "El número de números de serie únicos ({s}) debe coincidir con la cantidad ({q})" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" -msgstr "" +msgstr "Archivo adjunto" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" -msgstr "" +msgstr "Seleccionar archivo para adjuntar" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "Comentario" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" -msgstr "" +msgstr "Comentario del archivo" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "Usuario" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" -msgstr "" +msgstr "fecha de subida" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "El nombre del archivo no debe estar vacío" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "Directorio de archivos adjuntos no válido" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "El nombre del archivo contiene el carácter ilegal '{c}'" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "Falta el nombre de extensión del archivo" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "Ya existe un archivo adjunto con este nombre" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "Error al cambiar el nombre del archivo" + +#: InvenTree/models.py:184 msgid "Invalid choice" -msgstr "" +msgstr "Selección no válida" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "Descripción" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" -msgstr "" +msgstr "Descripción (opcional)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" -msgstr "" +msgstr "padre" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" -msgstr "" +msgstr "Debe ser un numero valido" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "Nombre de Archivo" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Alemán" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" -msgstr "" +msgstr "Griego" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "Inglés" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" -msgstr "" +msgstr "Español" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Francés" -#: InvenTree/settings.py:523 -msgid "Hebrew" -msgstr "" - -#: InvenTree/settings.py:524 -msgid "Italian" -msgstr "" - -#: InvenTree/settings.py:525 -msgid "Japanese" -msgstr "" - -#: InvenTree/settings.py:526 -msgid "Korean" -msgstr "" - -#: InvenTree/settings.py:527 -msgid "Dutch" -msgstr "" - #: InvenTree/settings.py:528 -msgid "Norwegian" -msgstr "" +msgid "Hebrew" +msgstr "Hebreo" #: InvenTree/settings.py:529 +msgid "Italian" +msgstr "Italiano" + +#: InvenTree/settings.py:530 +msgid "Japanese" +msgstr "Japonés" + +#: InvenTree/settings.py:531 +msgid "Korean" +msgstr "Coreano" + +#: InvenTree/settings.py:532 +msgid "Dutch" +msgstr "Holandés" + +#: InvenTree/settings.py:533 +msgid "Norwegian" +msgstr "Noruego" + +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Polaco" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" -msgstr "" +msgstr "Ruso" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" -msgstr "" +msgstr "Sueco" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" -msgstr "" +msgstr "Tailandés" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" -msgstr "" +msgstr "Vietnamita" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" -msgstr "" +msgstr "Chino" #: InvenTree/status.py:94 msgid "Background worker check failed" -msgstr "" +msgstr "Falló la comprobación en segundo plano del worker" #: InvenTree/status.py:98 msgid "Email backend not configured" -msgstr "" +msgstr "No se ha configurado el backend de correo" #: InvenTree/status.py:101 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "Las comprobaciones de estado del sistema InvenTree fallaron" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 #: InvenTree/status_codes.py:314 @@ -289,7 +318,7 @@ msgstr "Perdida" #: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 #: InvenTree/status_codes.py:192 msgid "Returned" -msgstr "" +msgstr "Devuelto" #: InvenTree/status_codes.py:146 #: order/templates/order/sales_order_base.html:126 @@ -318,7 +347,7 @@ msgstr "Rechazado" #: InvenTree/status_codes.py:272 msgid "Legacy stock tracking entry" -msgstr "" +msgstr "Entrada antigua de rastreo de stock" #: InvenTree/status_codes.py:274 msgid "Stock item created" @@ -350,39 +379,39 @@ msgstr "Ubicación cambiada" #: InvenTree/status_codes.py:285 msgid "Installed into assembly" -msgstr "" +msgstr "Instalado en el ensamblaje" #: InvenTree/status_codes.py:286 msgid "Removed from assembly" -msgstr "" +msgstr "Retirado del ensamblaje" #: InvenTree/status_codes.py:288 msgid "Installed component item" -msgstr "" +msgstr "Artículo del componente instalado" #: InvenTree/status_codes.py:289 msgid "Removed component item" -msgstr "" +msgstr "Elemento de componente eliminado" #: InvenTree/status_codes.py:291 msgid "Split from parent item" -msgstr "" +msgstr "Separar del elemento principal" #: InvenTree/status_codes.py:292 msgid "Split child item" -msgstr "" +msgstr "Dividir elemento secundario" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" -msgstr "" +msgstr "Enviar al cliente" #: InvenTree/status_codes.py:295 msgid "Returned from customer" -msgstr "" +msgstr "Devolución del cliente" #: InvenTree/status_codes.py:297 msgid "Build order output created" -msgstr "" +msgstr "Trabajo de ensamblaje creado" #: InvenTree/status_codes.py:298 msgid "Build order output completed" @@ -398,143 +427,142 @@ msgstr "Producción" #: InvenTree/validators.py:22 msgid "Not a valid currency code" -msgstr "" +msgstr "No es un código de moneda válido" #: InvenTree/validators.py:50 msgid "Invalid character in part name" -msgstr "" +msgstr "Carácter no válido en el nombre del artículo" #: InvenTree/validators.py:63 #, python-brace-format msgid "IPN must match regex pattern {pat}" -msgstr "" +msgstr "El IPN debe coincidir con la expresión regular {pat}" #: InvenTree/validators.py:77 InvenTree/validators.py:91 #: InvenTree/validators.py:105 #, python-brace-format msgid "Reference must match pattern {pattern}" -msgstr "" +msgstr "La referencia debe coincidir con la expresión regular {pattern}" #: InvenTree/validators.py:113 #, python-brace-format msgid "Illegal character in name ({x})" -msgstr "" +msgstr "Carácter ilegal en el nombre ({x})" #: InvenTree/validators.py:132 InvenTree/validators.py:148 msgid "Overage value must not be negative" -msgstr "" +msgstr "El valor excedente no debe ser negativo" #: InvenTree/validators.py:150 msgid "Overage must not exceed 100%" -msgstr "" +msgstr "El excedente no debe superar el 100%" #: InvenTree/validators.py:157 msgid "Overage must be an integer value or a percentage" -msgstr "" +msgstr "El excedente debe ser un valor entero o un porcentaje" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "Eliminar elemento" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" -msgstr "" +msgstr "Marque la casilla para confirmar la eliminación del artículo" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" -msgstr "" +msgstr "Editar datos del usuario" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "Configurar Contraseña" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" -msgstr "" +msgstr "Los campos de contraseña deben coincidir" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "Información del sistema" #: barcodes/api.py:53 barcodes/api.py:150 msgid "Must provide barcode_data parameter" -msgstr "" +msgstr "Debe proporcionar el parámetro barcode_data" #: barcodes/api.py:126 msgid "No match found for barcode data" -msgstr "" +msgstr "No se encontró ninguna coincidencia para los datos del código de barras" #: barcodes/api.py:128 msgid "Match found for barcode data" -msgstr "" +msgstr "Coincidencia encontrada para datos de códigos de barras" #: barcodes/api.py:153 msgid "Must provide stockitem parameter" -msgstr "" +msgstr "Debe proporcionar el parámetro stockitem" #: barcodes/api.py:160 msgid "No matching stock item found" -msgstr "" +msgstr "No se ha encontrado ningún artículo de stock que coincida" #: barcodes/api.py:190 msgid "Barcode already matches StockItem object" -msgstr "" +msgstr "El código de barras ya corresponde al objeto de inventario" #: barcodes/api.py:194 msgid "Barcode already matches StockLocation object" -msgstr "" +msgstr "El código de barras ya corresponde a la ubicación de almacenamiento de existencias" #: barcodes/api.py:198 msgid "Barcode already matches Part object" -msgstr "" +msgstr "El código de barras ya corresponde a la parte" #: barcodes/api.py:204 barcodes/api.py:216 msgid "Barcode hash already matches StockItem object" -msgstr "" +msgstr "El código de barras ya está asignado a un objeto de inventario" #: barcodes/api.py:222 msgid "Barcode associated with StockItem" -msgstr "" +msgstr "Código de barras asignado al objeto de inventario" #: build/forms.py:37 msgid "Build Order reference" -msgstr "" +msgstr "Número de orden de construcción" #: build/forms.py:38 msgid "Order target date" -msgstr "" +msgstr "Fecha objetivo de pedido" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" -msgstr "" +msgstr "Fecha objetivo" #: build/forms.py:43 build/models.py:277 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" +msgstr "Fecha límite para la finalización de la construcción. La construcción estará vencida después de esta fecha." #: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,23 +570,24 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "Cantidad" #: build/forms.py:49 msgid "Number of items to build" -msgstr "" +msgstr "Número de elementos para construir" #: build/forms.py:91 msgid "Enter quantity for build output" -msgstr "" +msgstr "Ingrese la cantidad para la producción de la construcción" #: build/forms.py:95 order/forms.py:114 stock/forms.py:83 msgid "Serial Numbers" @@ -566,69 +595,71 @@ msgstr "Números de serie" #: build/forms.py:97 msgid "Enter serial numbers for build outputs" -msgstr "" +msgstr "Introduzca los números de serie de salidas de construcción" #: build/forms.py:103 msgid "Confirm creation of build output" -msgstr "" +msgstr "Confirmar la creación de salida de construcción" #: build/forms.py:124 msgid "Confirm deletion of build output" -msgstr "" +msgstr "Confirmar eliminación de salida de construcción" #: build/forms.py:145 msgid "Confirm unallocation of stock" -msgstr "" +msgstr "Confirmar la desasignación de stock" #: build/forms.py:169 msgid "Confirm stock allocation" -msgstr "" +msgstr "Confirmar asignación de stock" #: build/forms.py:186 msgid "Mark build as complete" -msgstr "" +msgstr "Marcar como construcción completa" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "Unicación" #: build/forms.py:211 msgid "Location of completed parts" -msgstr "" +msgstr "Ubicación de las partes completadas" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "Estado" #: build/forms.py:216 msgid "Build output stock status" -msgstr "" +msgstr "Generar estado de stock de salida" #: build/forms.py:223 msgid "Confirm incomplete" -msgstr "" +msgstr "Confirmar incompleta" #: build/forms.py:224 msgid "Confirm completion with incomplete stock allocation" -msgstr "" +msgstr "Confirmar la finalización con una asignación de stock incompleta" #: build/forms.py:227 msgid "Confirm build completion" -msgstr "" +msgstr "Confirmar la terminación de construcción" #: build/forms.py:252 msgid "Confirm cancel" @@ -636,47 +667,46 @@ msgstr "Confirmar cancelación" #: build/forms.py:252 build/views.py:65 msgid "Confirm build cancellation" -msgstr "" +msgstr "Confirmar la cancelación de construcción" #: build/forms.py:266 msgid "Select quantity of stock to allocate" -msgstr "" +msgstr "Seleccione la cantidad de stock para asignar" #: build/models.py:113 msgid "Invalid choice for parent build" -msgstr "" +msgstr "Opción no válida para la construcción padre" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" -msgstr "" +msgstr "Construir órden" #: build/models.py:118 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 msgid "Build Orders" -msgstr "" +msgstr "Construir órdenes" #: build/models.py:178 msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "Referencia" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "Parte" @@ -750,11 +780,11 @@ msgstr "" #: build/models.py:244 msgid "Build Quantity" -msgstr "" +msgstr "Cantidad a crear" #: build/models.py:247 msgid "Number of stock items to build" -msgstr "" +msgstr "Número de objetos existentes a construir" #: build/models.py:251 msgid "Completed items" @@ -762,111 +792,110 @@ msgstr "Elementos completados" #: build/models.py:253 msgid "Number of stock items which have been completed" -msgstr "" +msgstr "Número de productos en stock que se han completado" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" -msgstr "" +msgstr "Estado de la construcción" #: build/models.py:261 msgid "Build status code" -msgstr "" +msgstr "Código de estado de construcción" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" -msgstr "" +msgstr "Numero de lote" #: build/models.py:269 msgid "Batch code for this build output" -msgstr "" +msgstr "Número de lote de este producto final" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" -msgstr "" +msgstr "Fecha de Creación" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" -msgstr "" +msgstr "Fecha límite de finalización" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" -msgstr "" +msgstr "Fecha de finalización" #: build/models.py:286 msgid "completed by" -msgstr "" +msgstr "terminado por" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" -msgstr "" +msgstr "Emitido por" #: build/models.py:295 msgid "User who issued this build order" -msgstr "" +msgstr "El usuario que emitió esta orden" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "Responsable" #: build/models.py:304 msgid "User responsible for this build order" -msgstr "" +msgstr "Usuario responsable de esta orden" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" -msgstr "" +msgstr "Link externo" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" -msgstr "" +msgstr "Enlace a URL externa" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "Notas" #: build/models.py:315 msgid "Extra build notes" -msgstr "" +msgstr "Notas adicionales de construcción" #: build/models.py:792 msgid "No build output specified" -msgstr "" +msgstr "No se ha especificado salida de construcción" #: build/models.py:795 msgid "Build output is already completed" -msgstr "" +msgstr "La construcción de la salida ya está completa" #: build/models.py:798 msgid "Build output does not match Build Order" -msgstr "" +msgstr "La salida de la construcción no coincide con el orden de construcción" #: build/models.py:1208 msgid "BuildItem must be unique for build, stock_item and install_into" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "Número de serie" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "Progreso" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1072,7 +1101,7 @@ msgstr "" #: build/templates/build/detail.html:101 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" -msgstr "" +msgstr "Emitido por" #: build/templates/build/build_base.html:214 msgid "Incomplete Outputs" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "Destinación" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "Lote" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "Completados" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "Detalles" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "días" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "Página web" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "Email" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "Contacto" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "Fabricante" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Nota" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "Teléfono" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "Cliente" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "Opciones" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "Eliminar" @@ -2659,8 +2741,8 @@ msgstr "Eliminar" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "Fabricantes" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "Exportar" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po index 253f75aa39..a44d04150e 100644 --- a/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -36,7 +36,7 @@ msgstr "Entrer la date" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Confirmer" @@ -73,7 +73,7 @@ msgstr "Sélectionnez une catégorie" msgid "Duplicate serial: {n}" msgstr "Dupliquer le numéro de série: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "Quantité fournie invalide" @@ -102,152 +102,181 @@ msgstr "Aucun numéro de série trouvé" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "Pièce jointe" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "Commentaire" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "Commentaire du fichier" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "Utilisateur" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "date de chargement" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "Description" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "parent" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Allemand" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "Anglais" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Français" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Polonais" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Turc" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "Séparer de l'élément parent" msgid "Split child item" msgstr "Fractionner l'élément enfant" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "Envoyé au client" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "Supprimer cet élément" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "Modifier les informations utilisateur" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "Informations système" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "Quantité" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "Emplacement des pièces terminées" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "Référence" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "Pièce" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "Date de création" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "Lien Externe" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "Notes" @@ -881,11 +910,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction, msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "L'article en stock sélectionné n'a pas été trouvé dans la BOM pour la pièce '{p}'" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "Commander les pièces requises" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Commander des pièces" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Pieces jointes" @@ -1298,48 +1327,48 @@ msgstr "Pieces jointes" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "Détails" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "Disponible" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "{name.title()} Fichier" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "Regex IPN" -#: common/models.py:571 +#: common/models.py:557 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:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/models.py:583 +#: common/models.py:569 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:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "jours" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "IPN" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "A un IPN" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po index 46b94951af..fc12e2bd83 100644 --- a/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -36,7 +36,7 @@ msgstr "" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -102,152 +102,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" +#: InvenTree/serializers.py:244 +msgid "Filename" msgstr "" #: InvenTree/settings.py:523 -msgid "Hebrew" +msgid "German" msgstr "" #: InvenTree/settings.py:524 -msgid "Italian" +msgid "Greek" msgstr "" #: InvenTree/settings.py:525 -msgid "Japanese" +msgid "English" msgstr "" #: InvenTree/settings.py:526 -msgid "Korean" +msgid "Spanish" msgstr "" #: InvenTree/settings.py:527 -msgid "Dutch" +msgid "French" msgstr "" #: InvenTree/settings.py:528 -msgid "Norwegian" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:529 -msgid "Polish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:530 -msgid "Russian" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:531 -msgid "Swedish" +msgid "Korean" msgstr "" #: InvenTree/settings.py:532 -msgid "Thai" +msgid "Dutch" msgstr "" #: InvenTree/settings.py:533 -msgid "Turkish" +msgid "Norwegian" msgstr "" #: InvenTree/settings.py:534 -msgid "Vietnamese" +msgid "Polish" msgstr "" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po index 95d97efc15..55af0d653e 100644 --- a/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -36,7 +36,7 @@ msgstr "" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -102,152 +102,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" +#: InvenTree/serializers.py:244 +msgid "Filename" msgstr "" #: InvenTree/settings.py:523 -msgid "Hebrew" +msgid "German" msgstr "" #: InvenTree/settings.py:524 -msgid "Italian" +msgid "Greek" msgstr "" #: InvenTree/settings.py:525 -msgid "Japanese" +msgid "English" msgstr "" #: InvenTree/settings.py:526 -msgid "Korean" +msgid "Spanish" msgstr "" #: InvenTree/settings.py:527 -msgid "Dutch" +msgid "French" msgstr "" #: InvenTree/settings.py:528 -msgid "Norwegian" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:529 -msgid "Polish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:530 -msgid "Russian" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:531 -msgid "Swedish" +msgid "Korean" msgstr "" #: InvenTree/settings.py:532 -msgid "Thai" +msgid "Dutch" msgstr "" #: InvenTree/settings.py:533 -msgid "Turkish" +msgid "Norwegian" msgstr "" #: InvenTree/settings.py:534 -msgid "Vietnamese" +msgid "Polish" msgstr "" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po index 66b6042cf2..fa012e8d93 100644 --- a/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -36,7 +36,7 @@ msgstr "Inserisci la data" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Conferma" @@ -73,7 +73,7 @@ msgstr "Selezione una categoria" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -102,152 +102,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Tedesco" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "Greco" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "Inglese" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "Spagnolo" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Francese" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "Ebraico" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "Italiano" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "Giapponese" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "Coreano" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "Olandese" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "Norvegese" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Polacco" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "Russo" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "Svedese" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "Thailandese" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Turco" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "Vietnamita" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "Cinese" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "Quantità" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po index 9c938bc212..60ece0791e 100644 --- a/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -36,7 +36,7 @@ msgstr "日付を入力する" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "確認" @@ -73,7 +73,7 @@ msgstr "カテゴリの選択" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "数量コードが無効です" @@ -102,152 +102,181 @@ msgstr "シリアル番号が見つかりません" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "添付ファイル" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "コメント:" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "ファイルコメント" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "ユーザー" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "アップロード日時" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "説明" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "親" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "" + +#: InvenTree/settings.py:523 msgid "German" msgstr "ドイツ語" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "英語" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "フランス語" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "ポーランド語" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "トルコ語" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "完了したパーツの場所" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "パーツ" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "パーツを割り当てるためにビルドする" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "注文必須パーツ" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "パーツの注文" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "テンプレート" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "アセンブリ" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "コンポーネント" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "購入可能" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "追跡可能" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "新しいサプライヤー・パーツを作成" msgid "New Supplier Part" msgstr "新しいサプライヤー・パーツ" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "新しいサプライヤー・パーツ" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "パーツの注文" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "パーツを削除" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "パーツを削除" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "メーカー・パーツ" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "新しいメーカー・パーツを作成" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "新しいメーカ―・パーツ" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "パーツの注文" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "メーカー・パーツの編集" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "メーカー・パーツを削除" @@ -2634,9 +2716,9 @@ msgstr "内部パーツ" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "メーカー・パーツの在庫" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "メーカー・パーツの注文" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" -msgstr "%(order)s - %(desc)s の未処理のパーツを受け取る" +msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "パーツ" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "メーカー・パーツの編集" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "メーカー・パーツを削除" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po index 900a659884..c0b31fe815 100644 --- a/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -36,7 +36,7 @@ msgstr "" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -102,152 +102,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" +#: InvenTree/serializers.py:244 +msgid "Filename" msgstr "" #: InvenTree/settings.py:523 -msgid "Hebrew" +msgid "German" msgstr "" #: InvenTree/settings.py:524 -msgid "Italian" +msgid "Greek" msgstr "" #: InvenTree/settings.py:525 -msgid "Japanese" +msgid "English" msgstr "" #: InvenTree/settings.py:526 -msgid "Korean" +msgid "Spanish" msgstr "" #: InvenTree/settings.py:527 -msgid "Dutch" +msgid "French" msgstr "" #: InvenTree/settings.py:528 -msgid "Norwegian" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:529 -msgid "Polish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:530 -msgid "Russian" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:531 -msgid "Swedish" +msgid "Korean" msgstr "" #: InvenTree/settings.py:532 -msgid "Thai" +msgid "Dutch" msgstr "" #: InvenTree/settings.py:533 -msgid "Turkish" +msgid "Norwegian" msgstr "" #: InvenTree/settings.py:534 -msgid "Vietnamese" +msgid "Polish" msgstr "" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po index 13d7b460c0..8a14f3628d 100644 --- a/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -19,7 +19,7 @@ msgstr "" #: InvenTree/api.py:64 msgid "API endpoint not found" -msgstr "" +msgstr "API eindpunt niet gevonden" #: InvenTree/api.py:110 msgid "No action specified" @@ -36,7 +36,7 @@ msgstr "Voer datum in" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Bevestigen" @@ -71,16 +71,16 @@ msgstr "Categorie selecteren" #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" -msgstr "" +msgstr "Dubbel serienummer: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "Ongeldige hoeveeldheid ingevoerd" #: InvenTree/helpers.py:411 msgid "Empty serial number string" -msgstr "" +msgstr "Leeg serienummer" #: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 #: InvenTree/helpers.py:464 @@ -91,7 +91,7 @@ msgstr "Ongeldige groep: {g}" #: InvenTree/helpers.py:469 #, python-brace-format msgid "Duplicate serial: {g}" -msgstr "" +msgstr "Dubbel serienummer: {g}" #: InvenTree/helpers.py:477 msgid "No serial numbers found" @@ -102,152 +102,181 @@ msgstr "Geen serienummers gevonden" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Aantal unieke serienummer ({s}) moet overeenkomen met de hoeveelheid ({q})" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "Bijlage" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "Opmerking" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "Bijlage opmerking" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "Gebruiker" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "uploaddatum" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "Bestandsnaam mag niet leeg zijn" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "Fout bijlagemap" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "Bestandsnaam bevat illegale teken '{c}'" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "Bestandsnaam mist extensie" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "Bijlage met deze bestandsnaam bestaat al" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "Fout bij hernoemen bestand" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "Omschrijving" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "overkoepelend" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "Bestandsnaam" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Duits" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "Grieks" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "Engels" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "Spaans" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Frans" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "Hebreeuws" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "Italiaans" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "Japans" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "Koreaans" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "Nederlands" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "Noors" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Pools" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "Russisch" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "Zweeds" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "Thais" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Turks" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "Vietnamees" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "Chinees" @@ -261,168 +290,168 @@ msgstr "E-mailbackend niet geconfigureerd" #: InvenTree/status.py:101 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "Inventree gezondsheidscheck faalt" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 #: InvenTree/status_codes.py:314 msgid "Pending" -msgstr "" +msgstr "Bezig" #: InvenTree/status_codes.py:105 msgid "Placed" -msgstr "" +msgstr "Geplaatst" #: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 msgid "Complete" -msgstr "" +msgstr "Voltooid" #: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 #: InvenTree/status_codes.py:316 msgid "Cancelled" -msgstr "" +msgstr "Geannuleerd" #: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 #: InvenTree/status_codes.py:190 msgid "Lost" -msgstr "" +msgstr "Kwijt" #: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 #: InvenTree/status_codes.py:192 msgid "Returned" -msgstr "" +msgstr "Retour" #: InvenTree/status_codes.py:146 #: order/templates/order/sales_order_base.html:126 msgid "Shipped" -msgstr "" +msgstr "Verzonden" #: InvenTree/status_codes.py:186 msgid "OK" -msgstr "" +msgstr "OK" #: InvenTree/status_codes.py:187 msgid "Attention needed" -msgstr "" +msgstr "Aandacht nodig" #: InvenTree/status_codes.py:188 msgid "Damaged" -msgstr "" +msgstr "Beschadigd" #: InvenTree/status_codes.py:189 msgid "Destroyed" -msgstr "" +msgstr "Verwoest" #: InvenTree/status_codes.py:191 msgid "Rejected" -msgstr "" +msgstr "Afgewezen" #: InvenTree/status_codes.py:272 msgid "Legacy stock tracking entry" -msgstr "" +msgstr "Verouderde trackingscode" #: InvenTree/status_codes.py:274 msgid "Stock item created" -msgstr "" +msgstr "Voorraaditem gemaakt" #: InvenTree/status_codes.py:276 msgid "Edited stock item" -msgstr "" +msgstr "Bewerken voorraaditem" #: InvenTree/status_codes.py:277 msgid "Assigned serial number" -msgstr "" +msgstr "Serienummer toegewezen" #: InvenTree/status_codes.py:279 msgid "Stock counted" -msgstr "" +msgstr "Voorraad geteld" #: InvenTree/status_codes.py:280 msgid "Stock manually added" -msgstr "" +msgstr "Voorraad handmatig toegevoegd" #: InvenTree/status_codes.py:281 msgid "Stock manually removed" -msgstr "" +msgstr "Voorraad handmatig verwijderd" #: InvenTree/status_codes.py:283 msgid "Location changed" -msgstr "" +msgstr "Locatie veranderd" #: InvenTree/status_codes.py:285 msgid "Installed into assembly" -msgstr "" +msgstr "Gemonteerd" #: InvenTree/status_codes.py:286 msgid "Removed from assembly" -msgstr "" +msgstr "Gedemonteerd" #: InvenTree/status_codes.py:288 msgid "Installed component item" -msgstr "" +msgstr "Gemonteerd item" #: InvenTree/status_codes.py:289 msgid "Removed component item" -msgstr "" +msgstr "Gedemonteerd item" #: InvenTree/status_codes.py:291 msgid "Split from parent item" -msgstr "" +msgstr "Splits van bovenliggend item" #: InvenTree/status_codes.py:292 msgid "Split child item" -msgstr "" +msgstr "Splits onderliggende item" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" -msgstr "" +msgstr "Naar klant verzonden" #: InvenTree/status_codes.py:295 msgid "Returned from customer" -msgstr "" +msgstr "Geretourneerd door klant" #: InvenTree/status_codes.py:297 msgid "Build order output created" -msgstr "" +msgstr "Montageopdracht gecreëerd" #: InvenTree/status_codes.py:298 msgid "Build order output completed" -msgstr "" +msgstr "Montageopdracht voltooid" #: InvenTree/status_codes.py:300 msgid "Received against purchase order" -msgstr "" +msgstr "Ontvangen tegen inkoopopdracht" #: InvenTree/status_codes.py:315 msgid "Production" -msgstr "" +msgstr "Productie" #: InvenTree/validators.py:22 msgid "Not a valid currency code" -msgstr "" +msgstr "Foute valutacode" #: InvenTree/validators.py:50 msgid "Invalid character in part name" -msgstr "" +msgstr "Foute letter in onderdeelnaam" #: InvenTree/validators.py:63 #, python-brace-format msgid "IPN must match regex pattern {pat}" -msgstr "" +msgstr "IPN moet overeenkomen met regex-patroon {pat}" #: InvenTree/validators.py:77 InvenTree/validators.py:91 #: InvenTree/validators.py:105 #, python-brace-format msgid "Reference must match pattern {pattern}" -msgstr "" +msgstr "Refernetie moet overeenkomen met patroon {pattern}" #: InvenTree/validators.py:113 #, python-brace-format msgid "Illegal character in name ({x})" -msgstr "" +msgstr "Illegale letter in naam ({x})" #: InvenTree/validators.py:132 InvenTree/validators.py:148 msgid "Overage value must not be negative" -msgstr "" +msgstr "Overschrijdingswaarde mag niet negatief zijn" #: InvenTree/validators.py:150 msgid "Overage must not exceed 100%" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" -msgstr "" +msgstr "Verwijder item" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" -msgstr "" +msgstr "Selectievakje aanvinken om de verwijdering van items te bevestigen" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" -msgstr "" +msgstr "Gebruikersgegevens bewerken" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" -msgstr "" +msgstr "Wachtwoord instellen" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" -msgstr "" +msgstr "Wachtwoordvelden komen niet overeen" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "Systeeminformatie" @@ -498,7 +527,7 @@ msgstr "Barcode gekoppeld aan StockItem" #: build/forms.py:37 msgid "Build Order reference" -msgstr "" +msgstr "Bouwopdracht referentie" #: build/forms.py:38 msgid "Order target date" @@ -509,8 +538,8 @@ msgstr "Order streefdatum" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "Streefdatum" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "Aantal" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "Markeer build als voltooid" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "Locatie" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "Locatie van voltooide onderdelen" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "Status" @@ -649,34 +680,33 @@ msgstr "Ongeldige keuze voor bovenliggende build" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" -msgstr "" +msgstr "Bouwopdracht" #: build/models.py:118 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 msgid "Build Orders" -msgstr "" +msgstr "Bouwopdrachten" #: build/models.py:178 msgid "Build Order Reference" -msgstr "" +msgstr "Bouwopdracht referentie" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "Referentie" @@ -687,7 +717,7 @@ msgstr "Korte beschrijving van de build" #: build/models.py:199 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" -msgstr "" +msgstr "Bovenliggende bouw" #: build/models.py:200 msgid "BuildOrder to which this build is allocated" @@ -695,15 +725,14 @@ msgstr "BuildOrder waaraan deze build is toegewezen" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "BuildOrder waaraan deze build is toegewezen" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "Onderdeel" @@ -746,11 +776,11 @@ msgstr "Bestemmings Locatie" #: build/models.py:240 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen" #: build/models.py:244 msgid "Build Quantity" -msgstr "" +msgstr "Bouwkwaliteit" #: build/models.py:247 msgid "Number of stock items to build" @@ -758,21 +788,21 @@ msgstr "" #: build/models.py:251 msgid "Completed items" -msgstr "" +msgstr "Voltooide voorraadartikelen" #: build/models.py:253 msgid "Number of stock items which have been completed" -msgstr "" +msgstr "Aantal voorraadartikelen die zijn voltooid" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" -msgstr "" +msgstr "Bouwstatus" #: build/models.py:261 msgid "Build status code" -msgstr "" +msgstr "Bouwstatuscode" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,93 +810,92 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" -msgstr "" +msgstr "Aanmaakdatum" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" -msgstr "" +msgstr "Verwachte voltooiingsdatum" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" -msgstr "" +msgstr "Voltooiingsdatum" #: build/models.py:286 msgid "completed by" -msgstr "" +msgstr "voltooid door" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" #: build/models.py:295 msgid "User who issued this build order" -msgstr "" +msgstr "Gebruiker die bouwopdracht heeft gegeven" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" -msgstr "" +msgstr "Verantwoordelijke" #: build/models.py:304 msgid "User responsible for this build order" -msgstr "" +msgstr "Gebruiker verantwoordelijk voor deze bouwopdracht" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" -msgstr "" +msgstr "Externe Link" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" -msgstr "" +msgstr "Link naar externe URL" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" -msgstr "" +msgstr "Opmerkingen" #: build/models.py:315 msgid "Extra build notes" -msgstr "" +msgstr "Opmerkingen over de bouw" #: build/models.py:792 msgid "No build output specified" -msgstr "" +msgstr "Geen bouwuitvoer opgegeven" #: build/models.py:795 msgid "Build output is already completed" -msgstr "" +msgstr "Bouwuitvoer is al voltooid" #: build/models.py:798 msgid "Build output does not match Build Order" -msgstr "" +msgstr "Bouwuitvoer komt niet overeen met bouwopdracht" #: build/models.py:1208 msgid "BuildItem must be unique for build, stock_item and install_into" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -896,96 +925,96 @@ msgstr "" #: build/models.py:1312 #, python-brace-format msgid "Selected stock item not found in BOM for part '{p}'" -msgstr "" +msgstr "Geselecteerde voorraadartikel niet gevonden in stuklijst voor onderdeel '{p}'" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" -msgstr "" +msgstr "Product" #: build/models.py:1373 msgid "Build to allocate parts" -msgstr "" +msgstr "Bouw om onderdelen toe te wijzen" #: build/models.py:1389 stock/templates/stock/item_base.html:8 #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" -msgstr "" +msgstr "Voorraadartikel" #: build/models.py:1390 msgid "Source stock item" -msgstr "" +msgstr "Bron voorraadartikel" #: build/models.py:1403 msgid "Stock quantity to allocate to build" -msgstr "" +msgstr "Voorraad hoeveelheid te alloceren aan bouw" #: build/models.py:1411 msgid "Install into" -msgstr "" +msgstr "Installeren in" #: build/models.py:1412 msgid "Destination stock item" -msgstr "" +msgstr "Bestemming voorraadartikel" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" -msgstr "" +msgstr "Serienummer" #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" -msgstr "" +msgstr "Automatisch voorraad toewijzen" #: build/templates/build/auto_allocate.html:10 msgid "The following stock items will be allocated to the specified build output" -msgstr "" +msgstr "De volgende voorraadartikelen zullen worden toegewezen aan het opgegeven product" #: build/templates/build/auto_allocate.html:37 msgid "No stock items found that can be automatically allocated to this build" -msgstr "" +msgstr "Geen voorraadartikelen gevonden die automatisch aan dit product toegewezen kunnen worden" #: build/templates/build/auto_allocate.html:39 msgid "Stock items will have to be manually allocated" -msgstr "" +msgstr "Voorraad items zullen handmatig moeten worden toegewezen" #: build/templates/build/build_base.html:18 #, python-format msgid "This Build Order is allocated to Sales Order %(link)s" -msgstr "" +msgstr "Deze bouwopdracht is toegewezen aan verkooporder %(link)s" #: build/templates/build/build_base.html:25 #, python-format msgid "This Build Order is a child of Build Order %(link)s" -msgstr "" +msgstr "Deze bouwopdracht is een onderdeel van bouwopdracht %(link)s" #: build/templates/build/build_base.html:32 msgid "Build Order is ready to mark as completed" -msgstr "" +msgstr "Bouwopdracht is gereed om te markeren als voltooid" #: build/templates/build/build_base.html:37 msgid "Build Order cannot be completed as outstanding outputs remain" -msgstr "" +msgstr "Bouwopdracht kan niet worden voltooid omdat openstaande outputs blijven" #: build/templates/build/build_base.html:42 msgid "Required build quantity has not yet been completed" -msgstr "" +msgstr "Vereiste bouwhoeveelheid is nog niet bereikt" #: build/templates/build/build_base.html:47 msgid "Stock has not been fully allocated to this Build Order" -msgstr "" +msgstr "Voorraad is niet volledig toegewezen aan deze bouwopdracht" #: build/templates/build/build_base.html:75 #: company/templates/company/company_base.html:40 @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "Beheerder weergave" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "Achterstallig" @@ -1039,7 +1068,7 @@ msgstr "Annuleer Build" #: build/templates/build/build_base.html:114 msgid "Delete Build" -msgstr "" +msgstr "Verwijder bouw" #: build/templates/build/build_base.html:124 #: build/templates/build/detail.html:15 @@ -1049,7 +1078,7 @@ msgstr "Build details" #: build/templates/build/build_base.html:150 #, python-format msgid "This build was due on %(target)s" -msgstr "" +msgstr "Deze bouw was verwacht op %(target)s" #: build/templates/build/build_base.html:157 #: build/templates/build/detail.html:67 @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "Voortgang" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "Verkoop Order" @@ -1076,15 +1105,15 @@ msgstr "Uitgegeven door" #: build/templates/build/build_base.html:214 msgid "Incomplete Outputs" -msgstr "" +msgstr "Onvolledige bouwuitvoer" #: build/templates/build/build_base.html:215 msgid "Build Order cannot be completed as incomplete build outputs remain" -msgstr "" +msgstr "Bouwopdracht kan niet worden voltooid omdat onvolledige bouwuitvoer blijft bestaan" #: build/templates/build/build_output_create.html:7 msgid "The Bill of Materials contains trackable parts" -msgstr "" +msgstr "De stuklijst bevat traceerbare onderdelen" #: build/templates/build/build_output_create.html:8 msgid "Build outputs must be generated individually." @@ -1096,27 +1125,27 @@ msgstr "" #: build/templates/build/build_output_create.html:15 msgid "Trackable parts can have serial numbers specified" -msgstr "" +msgstr "Traceerbare onderdelen kunnen een serienummer hebben" #: build/templates/build/build_output_create.html:16 msgid "Enter serial numbers to generate multiple single build outputs" -msgstr "" +msgstr "Voer serienummers in om meerdere bouw-outputs te genereren" #: build/templates/build/cancel.html:5 msgid "Are you sure you wish to cancel this build?" -msgstr "" +msgstr "Weet je zeker dat je de bouw wilt annuleren?" #: build/templates/build/complete.html:8 msgid "Build Order is complete" -msgstr "" +msgstr "Bouwopdracht is voltooid" #: build/templates/build/complete.html:12 msgid "Build Order is incomplete" -msgstr "" +msgstr "Bouwopdracht is onvolledig" #: build/templates/build/complete.html:15 msgid "Incompleted build outputs remain" -msgstr "" +msgstr "Onvoltooide bouw outputs blijven" #: build/templates/build/complete.html:18 msgid "Required build quantity has not been completed" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1166,15 +1195,15 @@ msgstr "" #: build/templates/build/detail.html:38 msgid "Stock Source" -msgstr "" +msgstr "Voorraadbron" #: build/templates/build/detail.html:43 msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,24 +1213,24 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" -msgstr "" +msgstr "Batch" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" -msgstr "" +msgstr "Gecreëerd" #: build/templates/build/detail.html:130 msgid "No target date set" -msgstr "" +msgstr "Geen doeldatum ingesteld" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1223,26 +1252,26 @@ msgstr "" #: build/templates/build/detail.html:173 msgid "Auto Allocate" -msgstr "" +msgstr "Automatisch toewijzen" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" -msgstr "" +msgstr "Niet toegewezen voorraad" #: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 msgid "Unallocate Stock" -msgstr "" +msgstr "Niet toegewezen voorraad" #: build/templates/build/detail.html:179 msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" -msgstr "" +msgstr "Bestel onderdelen" #: build/templates/build/detail.html:186 msgid "Untracked stock has been fully allocated for this Build Order" @@ -1288,58 +1317,58 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" -msgstr "" +msgstr "Bijlagen" #: build/templates/build/detail.html:257 msgid "Build Notes" -msgstr "" +msgstr "Bouw notities" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" -msgstr "" +msgstr "Notities Bewerken" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" -msgstr "" +msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" -msgstr "" +msgstr "Waarde van de instelling" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" -msgstr "" +msgstr "Moet een geheel getal zijn" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" -msgstr "" +msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" -msgstr "" +msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" -msgstr "" +msgstr "Sleutelreeks moet uniek zijn" + +#: common/models.py:509 +msgid "InvenTree Instance Name" +msgstr "Inventree Instantie Naam" + +#: common/models.py:511 +msgid "String descriptor for the server instance" +msgstr "String-beschrijving voor de server instantie" + +#: common/models.py:515 +msgid "Use instance name" +msgstr "Gebruik de instantie naam" + +#: common/models.py:516 +msgid "Use the instance name in the title-bar" +msgstr "Gebruik de naam van de instantie in de titelbalk" + +#: common/models.py:522 company/models.py:99 company/models.py:100 +msgid "Company name" +msgstr "Bedrijfsnaam" #: common/models.py:523 -msgid "InvenTree Instance Name" -msgstr "" +msgid "Internal company name" +msgstr "Interne bedrijfsnaam" -#: common/models.py:525 -msgid "String descriptor for the server instance" -msgstr "" +#: common/models.py:528 +msgid "Base URL" +msgstr "Basis URL" #: common/models.py:529 -msgid "Use instance name" -msgstr "" +msgid "Base URL for server instance" +msgstr "Basis URL voor serverinstantie" -#: common/models.py:530 -msgid "Use the instance name in the title-bar" -msgstr "" +#: common/models.py:535 +msgid "Default Currency" +msgstr "Standaard valuta" -#: common/models.py:536 company/models.py:97 company/models.py:98 -msgid "Company name" -msgstr "" - -#: common/models.py:537 -msgid "Internal company name" -msgstr "" +#: common/models.py:536 +msgid "Default currency" +msgstr "Standaard valuta" #: common/models.py:542 -msgid "Base URL" -msgstr "" +msgid "Download from URL" +msgstr "Download van URL" #: common/models.py:543 -msgid "Base URL for server instance" -msgstr "" +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:549 -msgid "Default Currency" -msgstr "" +msgid "Barcode Support" +msgstr "Barcode ondersteuning" #: common/models.py:550 -msgid "Default currency" -msgstr "" +msgid "Enable barcode scanner support" +msgstr "Barcodescanner ondersteuning inschakelen" #: common/models.py:556 -msgid "Download from URL" -msgstr "" +msgid "IPN Regex" +msgstr "IPN Regex" #: common/models.py:557 -msgid "Allow download of remote images and files from external URL" -msgstr "" - -#: common/models.py:563 -msgid "Barcode Support" -msgstr "" - -#: common/models.py:564 -msgid "Enable barcode scanner support" -msgstr "" - -#: common/models.py:570 -msgid "IPN Regex" -msgstr "" - -#: common/models.py:571 msgid "Regular expression pattern for matching Part IPN" -msgstr "" +msgstr "Reguliere expressiepatroon voor het corresponderen van deel IPN" + +#: common/models.py:561 +msgid "Allow Duplicate IPN" +msgstr "Dubbele IPN toestaan" + +#: common/models.py:562 +msgid "Allow multiple parts to share the same IPN" +msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" + +#: common/models.py:568 +msgid "Allow Editing IPN" +msgstr "Bewerken IPN toestaan" + +#: common/models.py:569 +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:575 -msgid "Allow Duplicate IPN" -msgstr "" - -#: common/models.py:576 -msgid "Allow multiple parts to share the same IPN" -msgstr "" - -#: common/models.py:582 -msgid "Allow Editing IPN" -msgstr "" - -#: common/models.py:583 -msgid "Allow changing the IPN value while editing a part" -msgstr "" - -#: common/models.py:589 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" -msgstr "" +msgstr "Interne prijzen" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" -msgstr "" +msgstr "Foutopsporingsmodus" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" -msgstr "" +msgstr "Paginagrootte" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" -msgstr "" +msgstr "Testrapport" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" -msgstr "" +msgstr "Verlopen voorraad" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" -msgstr "" +msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" -msgstr "" +msgstr "Verkoop verlopen voorraad" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" -msgstr "" +msgstr "Verkoop verlopen voorraad toestaan" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" -msgstr "" +msgstr "dagen" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,16 +3345,14 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" -msgstr "" +msgstr "Nieuwe locatie" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" -msgstr "" +msgstr "Maak nieuwe voorraadlocatie" #: order/templates/order/order_cancel.html:8 msgid "Cancelling this order means that the order and line items will no longer be editable." @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 -msgid "Default Location" +#: part/api.py:700 +msgid "Must be greater than zero" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 +msgid "Default Location" +msgstr "Standaard locatie" + +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,13 +3999,13 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" #: part/forms.py:97 part/templates/part/bom_duplicate.html:7 msgid "Select parent part to copy BOM from" -msgstr "" +msgstr "Selecteer bovenliggend onderdeel om stuklijst van te kopiëren" #: part/forms.py:103 msgid "Clear existing BOM items" @@ -3923,411 +4043,411 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" -msgstr "" +msgstr "Standaard locatie voor onderdelen in deze categorie" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" #: part/templates/part/bom.html:6 msgid "You do not have permission to edit the BOM." -msgstr "" +msgstr "U heeft geen toestemming om de stuklijst te bewerken." #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4344,7 +4464,7 @@ msgstr "" #: part/templates/part/bom.html:38 msgid "New BOM Item" -msgstr "" +msgstr "Nieuw stuklijstitem" #: part/templates/part/bom.html:41 msgid "Finish Editing" @@ -4352,7 +4472,7 @@ msgstr "" #: part/templates/part/bom.html:46 msgid "Edit BOM" -msgstr "" +msgstr "Bewerk stuklijst" #: part/templates/part/bom.html:50 msgid "Validate Bill of Materials" @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4584,9 +4709,9 @@ msgstr "" #: part/templates/part/detail.html:90 msgid "Sales Order Allocations" -msgstr "" +msgstr "Toewijzingen verkoopopdracht" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4630,7 +4755,7 @@ msgstr "" #: part/templates/part/detail.html:274 msgid "Build Order Allocations" -msgstr "" +msgstr "Toewijzingen bouwopdracht" #: part/templates/part/detail.html:283 msgid "Part Suppliers" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" -msgstr "" +msgstr "QR-code weergeven" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" -msgstr "" +msgstr "Label afdrukken" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" -msgstr "" +msgstr "Voorraad acties" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" -msgstr "" +msgstr "Voorraadlocatie" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5645,7 +5787,7 @@ msgstr "" #: stock/templates/stock/item_base.html:84 templates/stock_table.html:31 msgid "Scan to Location" -msgstr "" +msgstr "Scan naar locatie" #: stock/templates/stock/item_base.html:91 msgid "Printing actions" @@ -5658,7 +5800,7 @@ msgstr "" #: stock/templates/stock/item_base.html:108 #: stock/templates/stock/location.html:69 templates/stock_table.html:57 msgid "Count stock" -msgstr "" +msgstr "Voorraad tellen" #: stock/templates/stock/item_base.html:111 templates/stock_table.html:55 msgid "Add stock" @@ -5675,7 +5817,7 @@ msgstr "" #: stock/templates/stock/item_base.html:121 #: stock/templates/stock/location.html:75 msgid "Transfer stock" -msgstr "" +msgstr "Voorraad overzetten" #: stock/templates/stock/item_base.html:124 msgid "Assign to customer" @@ -5768,9 +5910,9 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" -msgstr "" +msgstr "Geen Locatie ingesteld" #: stock/templates/stock/item_base.html:310 msgid "Barcode Identifier" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5871,11 +6013,11 @@ msgstr "" #: stock/templates/stock/location.html:20 msgid "You are not in the list of owners of this location. This stock location cannot be edited." -msgstr "" +msgstr "U staat niet in de lijst van eigenaars van deze locatie. Deze voorraadlocatie kan niet worden bewerkt." #: stock/templates/stock/location.html:37 msgid "All stock items" -msgstr "" +msgstr "Alle voorraadartikelen" #: stock/templates/stock/location.html:55 msgid "Check-in Items" @@ -5883,19 +6025,19 @@ msgstr "" #: stock/templates/stock/location.html:83 msgid "Location actions" -msgstr "" +msgstr "Locatie acties" #: stock/templates/stock/location.html:85 msgid "Edit location" -msgstr "" +msgstr "Bewerk locatie" #: stock/templates/stock/location.html:87 msgid "Delete location" -msgstr "" +msgstr "Verwijder locatie" #: stock/templates/stock/location.html:99 msgid "Location Details" -msgstr "" +msgstr "Locatiegegevens" #: stock/templates/stock/location.html:104 msgid "Location Path" @@ -5903,35 +6045,35 @@ msgstr "" #: stock/templates/stock/location.html:109 msgid "Location Description" -msgstr "" +msgstr "Locatieomschrijving" #: stock/templates/stock/location.html:114 #: stock/templates/stock/location.html:155 #: stock/templates/stock/location_navbar.html:11 #: stock/templates/stock/location_navbar.html:14 msgid "Sublocations" -msgstr "" +msgstr "Sublocaties" #: stock/templates/stock/location.html:124 msgid "Stock Details" -msgstr "" +msgstr "Voorraadgegevens" #: stock/templates/stock/location.html:129 templates/InvenTree/search.html:279 #: templates/stats.html:97 users/models.py:42 msgid "Stock Locations" -msgstr "" +msgstr "Voorraadlocaties" #: stock/templates/stock/location.html:162 templates/stock_table.html:37 msgid "Printing Actions" -msgstr "" +msgstr "Afdrukacties" #: stock/templates/stock/location.html:166 templates/stock_table.html:41 msgid "Print labels" -msgstr "" +msgstr "Labels afdrukken" #: stock/templates/stock/location.html:251 msgid "Create new location" -msgstr "" +msgstr "Maak nieuwe locatie" #: stock/templates/stock/location_delete.html:7 msgid "Are you sure you want to delete this stock location?" @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -5992,7 +6134,7 @@ msgstr "" #: stock/views.py:181 msgid "Edit Stock Location" -msgstr "" +msgstr "Bewerk voorraadlocatie" #: stock/views.py:288 stock/views.py:911 stock/views.py:1033 #: stock/views.py:1398 @@ -6001,7 +6143,7 @@ msgstr "" #: stock/views.py:303 msgid "Stock Location QR code" -msgstr "" +msgstr "QR-code voor voorraadlocatie" #: stock/views.py:322 msgid "Assign to Customer" @@ -6017,7 +6159,7 @@ msgstr "" #: stock/views.py:364 msgid "Specify a valid location" -msgstr "" +msgstr "Specificeer een geldige locatie" #: stock/views.py:375 msgid "Stock item returned from customer" @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6053,13 +6195,13 @@ msgstr "" #: stock/views.py:959 msgid "Create new Stock Location" -msgstr "" +msgstr "Maak nieuwe voorraadlocatie" #: stock/views.py:1050 msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6073,7 +6215,7 @@ msgstr "" #: stock/views.py:1467 msgid "Delete Stock Location" -msgstr "" +msgstr "Verwijder voorraadlocatie" #: stock/views.py:1480 msgid "Delete Stock Item" @@ -6171,13 +6313,13 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" -msgstr "" +msgstr "Geen voorraadlocatie ingesteld" #: templates/InvenTree/settings/barcode.html:8 msgid "Barcode Settings" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" -msgstr "" +msgstr "Inkoop" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" -msgstr "" +msgstr "Verkoop" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po index 3c021ab051..391caec1d4 100644 --- a/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -36,7 +36,7 @@ msgstr "Oppgi dato" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Bekreft" @@ -73,7 +73,7 @@ msgstr "Velg kategori" msgid "Duplicate serial: {n}" msgstr "Dupliser serie: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "Ugyldig mengde oppgitt" @@ -102,152 +102,181 @@ msgstr "Ingen serienummer funnet" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Antall unike serienummer ({s}) må samsvare mengde ({q})" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "Vedlegg" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "Kommenter" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "Kommentar til fil" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "Bruker" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "opplastet dato" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "Beskrivelse" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "Nummer må være gyldig" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Tysk" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "Gresk" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "Engelsk" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "Spansk" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Fransk" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "Hebraisk" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "Italiensk" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "Japansk" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "Koreansk" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "Nederlandsk" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "Norsk" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Polsk" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "Russisk" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "Svensk" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "Thailandsk" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Tyrkisk" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "Vietnamesisk" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "Kinesisk" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po index ef3d82a8b2..820073e7f7 100644 --- a/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -36,7 +36,7 @@ msgstr "Wprowadź dane" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Potwierdź" @@ -73,7 +73,7 @@ msgstr "Wybierz kategorię" msgid "Duplicate serial: {n}" msgstr "Powtórzony numer seryjny: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "Podano nieprawidłową ilość" @@ -102,152 +102,181 @@ msgstr "Nie znaleziono numerów seryjnych" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Ilość numerów seryjnych ({s}) musi odpowiadać ilości ({q})" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "Załącznik" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "Komentarz" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "Komentarz pliku" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "Użytkownik" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "data przesłania" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "Opis" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "nadrzędny" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Niemiecki" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "Grecki" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "Angielski" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "Hiszpański" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Francuski" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "Hebrajski" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "Włoski" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "Japoński" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "Koreański" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "Holenderski" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "Norweski" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Polski" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "Rosyjski" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "Szwedzki" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "Tajski" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Turecki" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "Wietnamski" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "Chiński" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "Podziel element podrzędny" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "Wyślij do klienta" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "Usuń element" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "Zaznacz pole aby potwierdzić usunięcie elementu" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "Edytuj informacje użytkownika" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "Ustaw hasło" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "Hasła muszą być zgodne" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "Informacja systemowa" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "Data docelowa" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "Ilość" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "Oznacz budowę jako ukończoną" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "Lokalizacja" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "Lokalizacja ukończonych części" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "Status" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "Zlecenie Budowy" @@ -657,8 +688,8 @@ msgstr "Zlecenie Budowy" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "Zlecenia budowy" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "Referencja" @@ -695,15 +725,14 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "Część" @@ -764,7 +794,7 @@ msgstr "Ukończone elementy" msgid "Number of stock items which have been completed" msgstr "Ilość produktów magazynowych które zostały ukończone" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "Status budowania" @@ -772,7 +802,7 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "Kod partii" @@ -780,16 +810,16 @@ msgstr "Kod partii" msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "Data utworzenia" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "Docelowy termin zakończenia" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "Data zakończenia" @@ -797,7 +827,7 @@ msgstr "Data zakończenia" msgid "completed by" msgstr "zrealizowane przez" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "Wydany przez" @@ -808,9 +838,9 @@ msgstr "Użytkownik, który wydał to zamówienie" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "Odpowiedzialny" @@ -821,34 +851,33 @@ msgstr "Użytkownik odpowiedzialny za to zamówienie budowy" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "Uwagi" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "Przydzielona ilość ({n}) nie może przekraczać dostępnej ilości ({q})" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "Budowa" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "Element magazynowy" @@ -936,12 +965,12 @@ msgstr "Docelowa lokalizacja magazynowa przedmiotu" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "Numer Seryjny" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "Widok administratora" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "Zaległe" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "Postęp" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "Zamówienie zakupu" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "Źródło magazynu" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "Przeznaczenie" @@ -1184,16 +1213,16 @@ msgstr "Nie określono lokalizacji docelowej" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "Partia" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "Utworzony" @@ -1201,7 +1230,7 @@ msgstr "Utworzony" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "Zakończone" @@ -1225,7 +1254,7 @@ msgstr "Przydziel zapasy do budowy" msgid "Auto Allocate" msgstr "Automatyczne przypisywanie" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "Cofnij przydział zapasów" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "Zamów wymagane komponenty" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Zamów części" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Załączniki" @@ -1298,48 +1327,48 @@ msgstr "Załączniki" msgid "Build Notes" msgstr "Notatki tworzenia" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "Dodaj załącznik" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "Edytuj załącznik" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "Usuń załącznik" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "Szczegóły zlecenia budowy" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "Szczegóły" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "Dostępne" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "Nazwa instancji InvenTree" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "Nazwa firmy" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "Bazowy URL" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/models.py:557 +#: common/models.py:543 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:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "Włącz obsługę skanera kodów" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "Szablon" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "Złożenie" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "Komponent" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "Możliwość śledzenia" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Wirtualny" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "Pokaż ilość w formularzach" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "Rozmiar strony" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "Raporty testów" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "Włącz generowanie raportów testów" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "dni" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "Grupuj według komponentu" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "Cena" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "Domyślny" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "URL" msgid "Image URL" msgstr "URL zdjęcia" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "Strona WWW" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "Adres" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "Adres firmy" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "Adres E-Mail" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "Kontakt" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "Łącze" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "Obraz" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "jest klientem" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "jest dostawcą" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "jest producentem" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "Waluta" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "Producent" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "MPN" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "Numer producenta" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "Część producenta" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "Jednostki" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "SKU" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Uwaga" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "Firma" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "Telefon" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "Klient" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "Utwórz nowego dostawcę części" msgid "New Supplier Part" msgstr "Nowy dostawca części" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "Nowy dostawca części" msgid "Options" msgstr "Opcje" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "Zamów części" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "Usuń części" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "Usuń części" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "Części producenta" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "Utwórz nową część producenta" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "Nowa część producenta" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "Zapasy dostawcy" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "Lista dostawców" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "Zamów część" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "Edytuj część producenta" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "Usuń cześć producenta" @@ -2634,9 +2716,9 @@ msgstr "Część wewnętrzna" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "Dostawcy" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "Usuń" @@ -2659,8 +2741,8 @@ msgstr "Usuń" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "Parametry" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "Dodaj parametr" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "Stan" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "Zamówienia" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "Dostarczone części" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "Informacja cenowa" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "Edytuj przedział cenowy" @@ -2817,8 +2899,8 @@ msgstr "Cennik" msgid "New Supplier" msgstr "Nowy dostawca" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "Producenci" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "Now producent" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "Klienci" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "Złóż zamówienie" @@ -2978,11 +3064,11 @@ msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" msgid "Order notes" msgstr "Notatki do zamówienia" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "Odniesienie zamówienia" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "Status zamówienia zakupu" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" @@ -3031,150 +3117,182 @@ msgstr "Ilość musi być większa niż zero" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "Wartość musi być liczbą całkowitą" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "Data wysyłki" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "wysłane przez" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "Ilość elementów" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "Zamówienie" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "Odebrane" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "Cena zakupu" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "Cena zakupu jednostkowego" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "Linia" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "Komponent" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "Nowa lokalizacja" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "Przedmioty" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "Dodaj element zamówienia" @@ -3436,49 +3552,6 @@ msgstr "Dodaj element zamówienia" msgid "Order Notes" msgstr "Notatki zamówień" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "Cena jednostkowa" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "Części" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "Kod zamówienia" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "Akcje" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "Numer ID" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "Cena jednostkowa" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "Przydzielono" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "Cena zakupu" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "Oblicz cenę" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "Zaktualizuj cenę jednostkową" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "Domyślna lokalizacja" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "Dostępna ilość" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "Część nadrzędna" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "Domyślne słowa kluczowe" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "Nazwa części" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "Wariant" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "Opis części" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "Słowa kluczowe" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "Kategoria" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "IPN" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "Wersja" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "Czy ta część może być zbudowana z innych części?" -#: part/models.py:810 +#: part/models.py:812 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:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "Aktywny" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "Czy ta część jest aktywna?" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "Sprzedaj wiele" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "Nazwa testu" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "Wymagane" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "Dane" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "Wartość domyślna" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "Podczęść" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "Suma kontrolna" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "Część 1" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "Część 2" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "Wybierz powiązaną część" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "Nie masz uprawnień do edycji BOM." #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "Eksportuj" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "Ustaw kategorię" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "Eksportuj dane" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "Parametry części" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "Duplikuj część" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "Zapasy części" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "Warianty Części" @@ -4602,8 +4727,8 @@ msgstr "Nowy wariant" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "Dodaj powiązane" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "Zestawienie materiałowe" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "Użyte w" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "Ceny" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "Lista części" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "Część jest wirtualna (nie fizyczna)" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "Nieaktywny" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "Akcje kodów kreskowych" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "Pokaż Kod QR" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "Drukuj etykietę" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "Akcje magazynowe" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "Duplikuj część" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "Edytuj część" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "Usuń część" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "Ostatni numer seryjny" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "Cena jednostkowa" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,8 +5053,8 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" -msgstr "Czy na pewno chcesz usunąć część '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" +msgstr "" #: part/templates/part/partial_delete.html:12 #, python-format @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "Edytuj kategorię części" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "Wynik" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "Data" @@ -5288,51 +5422,51 @@ msgstr "Zaliczone" msgid "Fail" msgstr "Niezaliczone" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "Nieprawidłowa ilość" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "Ilość musi być większa niż zero" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "Data ważności" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "Część podstawowa" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "Ilość w magazynie" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 +#: stock/models.py:599 +msgid "Scheduled for deletion" +msgstr "" + +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" +msgstr "" + +#: stock/models.py:1063 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1057 +#: stock/models.py:1069 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1063 +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "Termin minął" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "Lokacje nie są ustawione" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "Ostatnia aktualizacja" @@ -5825,7 +5967,7 @@ msgstr "Czy na pewno chcesz usunąć tą część?" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "Utwórz nową lokalizację magazynową" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "Błąd 403: Odmowa dostępu" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "Ilość za" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "Dodaj część producenta" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "Edytuj firmę" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "Dodaj nową firmę" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "Dodaj nowy filtr" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" -msgstr "Kopiuj BOM" - -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" +msgstr "" + +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "Kopiuj BOM" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "Cena jednostkowa" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "Dodaj stan" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "Dodaj" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "Dodano" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po index b5b04e2a28..82a406afcd 100644 --- a/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -36,7 +36,7 @@ msgstr "Введите дату" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Подтвердить" @@ -73,7 +73,7 @@ msgstr "Выбрать категорию" msgid "Duplicate serial: {n}" msgstr "Дублировать серийный номер: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "недопустимое количество" @@ -102,152 +102,181 @@ msgstr "Серийных номеров не найдено" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "Вложения" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "Комментарий" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "Комментарий к файлу" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "Пользователь" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "дата загрузки" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "Название" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "Описание" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "родитель" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Немецкий" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "Греческий" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "Английский" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "Испанский" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Французский" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "Иврит" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "Итальянский" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "Японский" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "Корейский" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "Голландский" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "Норвежский" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Польский" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "Русский" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "Шведский" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "Тайский" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Турецкий" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "Вьетнамский" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "Китайский" @@ -372,7 +401,7 @@ msgstr "Отделить от родительского элемента" msgid "Split child item" msgstr "Разбить дочерний элемент" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "Отправлено клиенту" @@ -432,27 +461,27 @@ msgstr "Перегрузка не может превысить 100%" msgid "Overage must be an integer value or a percentage" msgstr "Превышение должно быть целым числом или процентом" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "Удалить элемент" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "Установите флажок для подтверждения удаления элемента" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "Редактировать информацию о пользователе" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "Установить пароль" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "Пароли должны совпадать" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "Информация о системе" @@ -509,8 +538,8 @@ msgstr "Срок выполнения заказа" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "Целевая дата" @@ -522,19 +551,18 @@ msgstr "Целевая дата для сборки. Сборка будет п #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "Целевая дата для сборки. Сборка будет п #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "Количество" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "Пометить сборку как завершенную" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "Расположение" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "Расположение укомплектованных частей" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "Статус" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "Порядок сборки" @@ -657,8 +688,8 @@ msgstr "Порядок сборки" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "Порядок сборки" msgid "Build Order Reference" msgstr "Ссылка на заказ" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "Детали" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "выполнено" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "Ответственный" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "Ссылка на внешний URL" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "Заметки" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "Сборка" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "Просрочено" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "Партия" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "Создано" @@ -1201,7 +1230,7 @@ msgstr "Создано" msgid "No target date set" msgstr "Нет конечной даты" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Заказать детали" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Приложения" @@ -1298,48 +1327,48 @@ msgstr "Приложения" msgid "Build Notes" msgstr "Заметки сборки" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po index 8acb080094..3eb53ff69c 100644 --- a/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -36,7 +36,7 @@ msgstr "" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -102,152 +102,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" +#: InvenTree/serializers.py:244 +msgid "Filename" msgstr "" #: InvenTree/settings.py:523 -msgid "Hebrew" +msgid "German" msgstr "" #: InvenTree/settings.py:524 -msgid "Italian" +msgid "Greek" msgstr "" #: InvenTree/settings.py:525 -msgid "Japanese" +msgid "English" msgstr "" #: InvenTree/settings.py:526 -msgid "Korean" +msgid "Spanish" msgstr "" #: InvenTree/settings.py:527 -msgid "Dutch" +msgid "French" msgstr "" #: InvenTree/settings.py:528 -msgid "Norwegian" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:529 -msgid "Polish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:530 -msgid "Russian" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:531 -msgid "Swedish" +msgid "Korean" msgstr "" #: InvenTree/settings.py:532 -msgid "Thai" +msgid "Dutch" msgstr "" #: InvenTree/settings.py:533 -msgid "Turkish" +msgid "Norwegian" msgstr "" #: InvenTree/settings.py:534 -msgid "Vietnamese" +msgid "Polish" msgstr "" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po index 1adb94f81f..3be3993f7b 100644 --- a/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -36,7 +36,7 @@ msgstr "" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -102,152 +102,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" +#: InvenTree/serializers.py:244 +msgid "Filename" msgstr "" #: InvenTree/settings.py:523 -msgid "Hebrew" +msgid "German" msgstr "" #: InvenTree/settings.py:524 -msgid "Italian" +msgid "Greek" msgstr "" #: InvenTree/settings.py:525 -msgid "Japanese" +msgid "English" msgstr "" #: InvenTree/settings.py:526 -msgid "Korean" +msgid "Spanish" msgstr "" #: InvenTree/settings.py:527 -msgid "Dutch" +msgid "French" msgstr "" #: InvenTree/settings.py:528 -msgid "Norwegian" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:529 -msgid "Polish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:530 -msgid "Russian" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:531 -msgid "Swedish" +msgid "Korean" msgstr "" #: InvenTree/settings.py:532 -msgid "Thai" +msgid "Dutch" msgstr "" #: InvenTree/settings.py:533 -msgid "Turkish" +msgid "Norwegian" msgstr "" #: InvenTree/settings.py:534 -msgid "Vietnamese" +msgid "Polish" msgstr "" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po index b51c8640a5..81567b4a83 100644 --- a/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -36,7 +36,7 @@ msgstr "Tarih giriniz" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "Onay" @@ -73,7 +73,7 @@ msgstr "Kategori Seçin" msgid "Duplicate serial: {n}" msgstr "Tekrarlanan seri {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "Geçersiz veri sağlandı" @@ -102,152 +102,181 @@ msgstr "Seri numarası bulunamadı" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "Benzersiz seri numaralarının sayısı ({s}) girilen miktarla eşleşmeli ({q})" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "Ek" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "Yorum" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "Dosya yorumu" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "Kullanıcı" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "yükleme tarihi" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "Açıklama" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "üst" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/settings.py:518 +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "" + +#: InvenTree/settings.py:523 msgid "German" msgstr "Almanca" -#: InvenTree/settings.py:519 +#: InvenTree/settings.py:524 msgid "Greek" msgstr "Yunanca" -#: InvenTree/settings.py:520 +#: InvenTree/settings.py:525 msgid "English" msgstr "İngilizce" -#: InvenTree/settings.py:521 +#: InvenTree/settings.py:526 msgid "Spanish" msgstr "İspanyolca" -#: InvenTree/settings.py:522 +#: InvenTree/settings.py:527 msgid "French" msgstr "Fransızca" -#: InvenTree/settings.py:523 +#: InvenTree/settings.py:528 msgid "Hebrew" msgstr "İbranice" -#: InvenTree/settings.py:524 +#: InvenTree/settings.py:529 msgid "Italian" msgstr "İtalyanca" -#: InvenTree/settings.py:525 +#: InvenTree/settings.py:530 msgid "Japanese" msgstr "Japonca" -#: InvenTree/settings.py:526 +#: InvenTree/settings.py:531 msgid "Korean" msgstr "Korece" -#: InvenTree/settings.py:527 +#: InvenTree/settings.py:532 msgid "Dutch" msgstr "Flemenkçe" -#: InvenTree/settings.py:528 +#: InvenTree/settings.py:533 msgid "Norwegian" msgstr "Norveççe" -#: InvenTree/settings.py:529 +#: InvenTree/settings.py:534 msgid "Polish" msgstr "Polonyaca" -#: InvenTree/settings.py:530 +#: InvenTree/settings.py:535 msgid "Russian" msgstr "Rusça" -#: InvenTree/settings.py:531 +#: InvenTree/settings.py:536 msgid "Swedish" msgstr "İsveççe" -#: InvenTree/settings.py:532 +#: InvenTree/settings.py:537 msgid "Thai" msgstr "Tay dili" -#: InvenTree/settings.py:533 +#: InvenTree/settings.py:538 msgid "Turkish" msgstr "Türkçe" -#: InvenTree/settings.py:534 +#: InvenTree/settings.py:539 msgid "Vietnamese" msgstr "" -#: InvenTree/settings.py:535 +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "Çince" @@ -372,7 +401,7 @@ msgstr "Üst ögeden ayır" msgid "Split child item" msgstr "Alt ögeyi ayır" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "Müşteriye gönderildi" @@ -432,27 +461,27 @@ msgstr "Fazlalık %100'ü geçmemelidir" msgid "Overage must be an integer value or a percentage" msgstr "Fazlalık bir tamsayı veya yüzde olmalıdır" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "Ögeyi Sil" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "Öge silme işlemini onaylamak için kutuyu işaretleyin" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "Kullanıcı Bilgisini Düzenle" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "Şifre Belirle" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "Parola alanları eşleşmelidir" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "Sistem Bilgisi" @@ -509,8 +538,8 @@ msgstr "Emir hedef tarihi" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -522,19 +551,18 @@ msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "Miktar" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "Yapım işini tamamlandı olarak işaretle" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "Konum" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "Tamamlanmış parçaların konumu" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "Durum" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "Yapım İşi Emri" @@ -657,8 +688,8 @@ msgstr "Yapım İşi Emri" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "Yapım İşi Emirleri" msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "Referans" @@ -695,15 +725,14 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "Parça" @@ -764,7 +794,7 @@ msgstr "Tamamlanmış ögeler" msgid "Number of stock items which have been completed" msgstr "Tamamlanan stok kalemlerinin sayısı" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "Yapım İşi Durumu" @@ -772,7 +802,7 @@ msgstr "Yapım İşi Durumu" msgid "Build status code" msgstr "Yapım işi durum kodu" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "Sıra numarası" @@ -780,16 +810,16 @@ 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:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "Oluşturulma tarihi" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "Hedef tamamlama tarihi" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -797,7 +827,7 @@ msgstr "Tamamlama tarihi" msgid "completed by" msgstr "tamamlayan" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "Veren" @@ -808,9 +838,9 @@ msgstr "Bu yapım işi emrini veren kullanıcı" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "Sorumlu" @@ -821,34 +851,33 @@ msgstr "Bu yapım işi emrinden sorumlu kullanıcı" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "Notlar" @@ -881,11 +910,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "Tahsis edilecek miktar ({n}) mevcut miktarı ({q}) geçmemeli" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "{p} parçasının malzeme listesindeki seçili stok kalemi bulunamadı" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "Yapım İşi" @@ -912,9 +941,9 @@ msgstr "Yapım işi için tahsis edilen parçalar" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "Stok Kalemi" @@ -936,12 +965,12 @@ msgstr "Hedef stok kalemi" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "Seri Numara" @@ -993,7 +1022,7 @@ msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "Yönetici görünümü" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "Vadesi geçmiş" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "İlerleme" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "Sipariş Emri" @@ -1148,8 +1177,8 @@ msgstr "Seçili yapım işi emri için tahsis edilecek bir stok kalemi seçiniz" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" -msgstr "Tahsis edilen stok bu yapım işi çıktısının kurulmasında kullanılacak:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgstr "" #: build/templates/build/create_build_item.html:17 #, python-format @@ -1172,9 +1201,9 @@ msgstr "Stok Kaynağı" msgid "Stock can be taken from any available location." msgstr "Stok herhangi bir konumdan alınabilir." -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "Hedef" @@ -1184,16 +1213,16 @@ msgstr "Hedef konumu belirtilmedi" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "Toplu" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "Oluşturuldu" @@ -1201,7 +1230,7 @@ msgstr "Oluşturuldu" msgid "No target date set" msgstr "Hedef tarih ayarlanmadı" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "Tamamlandı" @@ -1225,7 +1254,7 @@ msgstr "Yapım işi için stok tahsis et" msgid "Auto Allocate" msgstr "Otomatik Tahsis Et" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "Stok tahsisini kaldır" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "Gerekli parçaları sipariş edin" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "Parça Siparişi" @@ -1288,8 +1317,8 @@ msgstr "Tamamlanmış Yapım İşi Çıktıları" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "Ekler" @@ -1298,48 +1327,48 @@ msgstr "Ekler" msgid "Build Notes" msgstr "Yapım İşi Notları" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "Notları Düzenle" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "Dosya Ekle" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "Ek Düzenle" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "Silme İşlemini Onayla" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "Eki Sil" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "Yapım İşi Emri Detayları" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "Detaylar" @@ -1501,9 +1530,9 @@ msgstr "Öge stokta bulunmalı" msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "Mevcut" @@ -1539,7 +1568,7 @@ msgstr "Dosya okurken hata (hatalı ölçüler)" msgid "Error reading file (data could be corrupted)" msgstr "Dosya okurken hata (veri bozulmuş olabilir)" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "Dosya" @@ -1556,546 +1585,594 @@ msgstr "{name.title()} Dosya" msgid "Select {name} file to upload" msgstr "{name} dosyasını yüklemek için seçin" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "Bir tam sayı olmalı" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "Şirket adı" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "Ana URL" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "Varsayılan para birimi" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "URL'den indir" -#: common/models.py:557 +#: common/models.py:543 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:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "Barkod tarayıcı desteğini etkinleştir" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "DPN Regex" -#: common/models.py:571 +#: common/models.py:557 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:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/models.py:576 +#: common/models.py:562 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:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "Şablon" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "Montaj" -#: common/models.py:625 +#: common/models.py:611 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:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "Bileşen" -#: common/models.py:632 +#: common/models.py:618 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:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "Satılabilir" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "Takip Edilebilir" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "Sanal" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "Formlarda Miktarı Göster" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "Formlarda Fiyat Göster" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "Test Raporları" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "günler" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "Fiyat" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "Varsayılan" @@ -2123,7 +2200,7 @@ msgstr "Kullanıcı Ayarlarını Değiştir" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "Adres" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "Şirket adresi" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "E-posta" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "İletişim" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "Bağlantı" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "Resim" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "müşteri mi" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "tedarikçi mi" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "üretici mi" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "Para birimi" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "Üretici" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "ÜPN" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "Değer" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "SKU" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "Not" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "çoklu" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "Para Birimi Kodu" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "Satın Alma Emri Oluştur" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "Müşteri" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "Yeni tedarikçi parçası oluştur" msgid "New Supplier Part" msgstr "Yeni Tedarikçi Parçası" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "Yeni Tedarikçi Parçası" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "Parçaları sil" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "Parçaları Sil" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "Tedarikçi Stoku" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "Satın Alma Emirleri" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "Yeni satın alma emri oluştur" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "Yeni Satın Alma Emri" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "Satış Emirleri" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "Yeni satış emri oluştur" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "Yeni Satış Emri" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "Atanan Stok" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "Parça siparişi" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "Tedarikçi parçalarını sil" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "Stok" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "Stok Kalemleri" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "Tedarikçi Parçası" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "Tedarikçi parçasını düzenle" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "Tedarikçi parçasını sil" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "Fiyat Bilgisi" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "Fiyatlandırma" msgid "New Supplier" msgstr "Yeni Tedarikçi" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "Üreticiler" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "Yeni Üretici" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "Müşteriler" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "Sipariş ver" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "Sipariş notları" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "Sipariş referansı" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "Yeni Konum" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "Yeni stok konumu oluştur" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "Sipariş Emri için Dosya Yükle" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "Ürünler" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "Sipariş Notları" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "Toplam fiyat" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "Parçalar" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "İşlemler" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "Stok tahsisini düzenle" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "Stok tahsisini sil" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "ID" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "Toplam fiyat" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "Seri numaralarını tahsis et" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "Varsayılan Konum" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "Dışa aktarılan malzeme listesine parça tedarikçisi verilerini dahil edin" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "Parametre şablonunu tüm kategorilere ekle" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "Bu kategori içindeki parçalar için varsayılan konum" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "Parça Kategorileri" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "Sonraki kullanılabilir seri numaraları" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "Sonraki müsait seri numarası" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "En son seri numarası" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "Parça adı" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "Şablon Mu" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "Bu parça bir şablon parçası mı?" -#: part/models.py:673 +#: part/models.py:675 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:674 +#: part/models.py:676 msgid "Variant Of" msgstr "Çeşidi" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "Parça açıklaması" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "Anahtar kelimeler" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "DPN" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "Revizyon" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "Varsayılan Tedarikçi" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "Varsayılan tedarikçi parçası" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "Minimum Stok" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "Bu parça diğer parçalardan yapılabilir mi?" -#: part/models.py:810 +#: part/models.py:812 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:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "Bu parça müşterilere satılabilir mi?" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "Aktif" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "Bu parça aktif mi?" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "Oluşturan Kullanıcı" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 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:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "Test Adı" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "Test Açıklaması" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "Gerekli" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "Testi geçmesi için bu gerekli mi?" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "Parametre şablon adı benzersiz olmalıdır" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "Parametre Şablonu" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 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:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "Çeşide İzin Ver" -#: part/models.py:2365 +#: part/models.py:2381 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:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "Malzeme Listesi dosyası gerekli sütün adlarını sağlandığı şekilde içermelidir " -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "Malzeme Listesi Şablonu Yükle" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "Parçalar (Alt kategoriler dahil)" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "Kategori Ayarla" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "Parça Stoku" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" -msgstr "%(full_name)s için tüm çeşitlerin stokları gösteriliyor" +msgid "Showing stock for all variants of %(full_name)s" +msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "Parça Test Şablonları" @@ -4586,7 +4711,7 @@ msgstr "Yeni Sipariş" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "Parça Çeşitleri" @@ -4602,8 +4727,8 @@ msgstr "Yeni Çeşit" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "Çeşitler" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "Fiyatlar" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "Bu parça bir şablon parçadır (Bu parçanın çeşitleri yapılabilir)" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "Parça stoku seri numarası ile takip edilebilir" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "Bu parça harici tedarikçilerden satın alınabilir" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "Pasif" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "Barkod işlemleri" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "Etiket Yazdır" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "Stok işlemleri" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "Parça işlemleri" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "Bu parça %(link)s parçasının bir çeşididir" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "Yapım İşi Emirleri için Gerekli" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "Satış Emirleri için Gerekli" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "Son Seri Numarası" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "Hesapla" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "Birim Maliyeti" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "Toplam Maliyet" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "Aşağıdaki parçalara kategori ayarla" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "Stok Yok" @@ -5032,10 +5166,10 @@ msgstr "Yeni parça çeşidi oluştur" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." -msgstr "%(full_name)s şablonu için yeni bir çeşit oluştur." +msgid "Create a new variant of template '%(full_name)s'." +msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "Parça Parametre Şablonu Oluştur" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "Parça Parametre Şablonu Düzenle" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "Parça Parametre Şablonu Sil" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "Kategori Parametre Şablonu Oluştur" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "Kategori Parametre Şablonu Düzenle" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "Kategori Parametre Şablonu Sil" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "{n} öge için stok güncellendi" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "Kurulu stok kalemlerinin kaldırılmasını onayla" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "Bu seri numarasına sahip stok kalemi zaten var" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "Seri numarası olan ögenin miktarı bir olmalı" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "Miktar birden büyük ise seri numarası ayarlanamaz" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "Üst Stok Kalemi" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "Bu stok kalemi için tedarikçi parçası seçin" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "Stok Konumu" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "Seri numaraları tam sayı listesi olmalı" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "Seri numaraları zaten mevcut: {exists}" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "Konum ayarlanmadı" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "Bu stok kaleminin süresi %(item.expiry_date)s tarihinde sona erecek" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,8 +6117,8 @@ msgstr "Stok Kalemine Dönüştür" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" -msgstr "Bu stok kalemi şu anda %(part)s parçasının örneğidir" +msgid "This stock item is current an instance of %(part)s" +msgstr "" #: stock/templates/stock/stockitem_convert.html:9 msgid "It can be converted to one of the part variants listed below." @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "Stok ayarlamasını onayla" @@ -6059,7 +6201,7 @@ msgstr "Yeni Stok konumu oluştur" msgid "Serialize Stock" msgstr "Stoku Seri Numarala" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "Stok konumu ayarlanmadı" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "Kategori parametre şablonu bulunamadı" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "Şablonu Düzenle" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "Şablonu Sil" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "Parça parametre şablonu bulunamadı" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "InvenTree Sürüm Bilgisi" msgid "InvenTree Version" msgstr "InvenTree Sürümü" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "Güncel" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "Güncelleme Mevcut" -#: templates/about.html:34 -msgid "API Version" -msgstr "API Sürümü" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "Python Sürümü" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "Django Sürümü" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "Commit Hash Değeri" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "Commit Tarihi" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "API Sürümü" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "Python Sürümü" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "Django Sürümü" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "Katkıda Bulunanlar" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "Mobil Uygulama" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "Hata Raporu Gönder" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "panoya kopyala" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "sürüm bilgisini kopyala" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "Kapat" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "Rapor Şablonu Seç" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "Test Raporu Şablonu Seç" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "Seçili stok kalemleri için rapor şablonu bulunamadı" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "Seçili yapım işleri için rapor şablonu bulunamadı" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "Parçaları Seçin" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "Seçili parçalar için rapor şablonu bulunamadı" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "Seçili emirler için rapor şablonu bulunamadı" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "Cevap Yok" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "Stok Kalemlerini bu konuma kaydet" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "Stok kalemi zaten bu konumda" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "Konuma Kaydet" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "Barkod geçerli bir konumla eşleşmiyor" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "Gerekli Parça" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "Şablon Parça" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "doğru" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "yanlış" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 +#: templates/js/translated/helpers.js:19 +msgid "YES" +msgstr "" + +#: templates/js/translated/helpers.js:21 +msgid "NO" +msgstr "" + +#: templates/js/translated/label.js:30 msgid "Stock item(s) must be selected before printing labels" msgstr "Etiket yazdırılmadan önce stok kalemleri seçilmeli" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 msgid "No Labels Found" msgstr "Etiket Bulunamadı" -#: templates/js/translated/label.js:30 +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "Seçili stok kalemleri için etiket bulunamadı" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "Stok Konumu Seç" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "Etiket yazdırılmadan önce stok konumları seçilmeli" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "Seçili konumlarla eşleşen etiket bulunamadı" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "Etiket Seç" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "Etiket Şablonu Seç" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "Çeşit bulunamadı" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "Sorgu ile eşleşen test şablonu bulunamadı" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "konumlar" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "Tanımsız konum" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "konumlar" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "Tanımsız konum" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "Konum artık yok" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "Seri No" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "Çeşit Stokuna İzin Ver" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "Alt konumları dahil et" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "Konumları dahil et" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "Seri Numaralı" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "Seri numarası BvE" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "Seri numarası büyük veya eşit" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "Seri numarası KvE" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "Seri numarası küçük veya eşit" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "Seri numarası" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "Alt konumlardaki stoku dahil et" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "Çeşitleri Dahil Et" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "Çeşit parçaların stok kalemlerini dahil et" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "Alt kategorilerdeki parçaları dahil et" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "DPN Var" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po index 8c651efac6..49924e132a 100644 --- a/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -36,7 +36,7 @@ msgstr "" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "Duplicate serial: {n}" msgstr "" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" msgstr "" @@ -102,152 +102,181 @@ msgstr "" msgid "Number of unique serial number ({s}) must match quantity ({q})" msgstr "" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "" -#: InvenTree/models.py:113 +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:184 msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" msgstr "" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" msgstr "" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" msgstr "" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" +#: InvenTree/serializers.py:244 +msgid "Filename" msgstr "" #: InvenTree/settings.py:523 -msgid "Hebrew" +msgid "German" msgstr "" #: InvenTree/settings.py:524 -msgid "Italian" +msgid "Greek" msgstr "" #: InvenTree/settings.py:525 -msgid "Japanese" +msgid "English" msgstr "" #: InvenTree/settings.py:526 -msgid "Korean" +msgid "Spanish" msgstr "" #: InvenTree/settings.py:527 -msgid "Dutch" +msgid "French" msgstr "" #: InvenTree/settings.py:528 -msgid "Norwegian" +msgid "Hebrew" msgstr "" #: InvenTree/settings.py:529 -msgid "Polish" +msgid "Italian" msgstr "" #: InvenTree/settings.py:530 -msgid "Russian" +msgid "Japanese" msgstr "" #: InvenTree/settings.py:531 -msgid "Swedish" +msgid "Korean" msgstr "" #: InvenTree/settings.py:532 -msgid "Thai" +msgid "Dutch" msgstr "" #: InvenTree/settings.py:533 -msgid "Turkish" +msgid "Norwegian" msgstr "" #: InvenTree/settings.py:534 -msgid "Vietnamese" +msgid "Polish" msgstr "" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/settings.py:540 msgid "Chinese" msgstr "" @@ -372,7 +401,7 @@ msgstr "" msgid "Split child item" msgstr "" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" msgstr "" @@ -432,27 +461,27 @@ msgstr "" msgid "Overage must be an integer value or a percentage" msgstr "" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" msgstr "" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" msgstr "" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" msgstr "" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" msgstr "" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" msgstr "" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" msgstr "" @@ -509,8 +538,8 @@ msgstr "" #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" msgstr "" @@ -522,19 +551,18 @@ msgstr "" #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,13 +570,14 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" msgstr "" @@ -589,13 +618,15 @@ msgid "Mark build as complete" msgstr "" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" msgstr "" @@ -604,13 +635,13 @@ msgid "Location of completed parts" msgstr "" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" msgstr "" @@ -649,7 +680,7 @@ msgstr "" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" msgstr "" @@ -657,8 +688,8 @@ msgstr "" #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 @@ -669,14 +700,13 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" msgstr "" @@ -695,15 +725,14 @@ msgstr "" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,12 +740,13 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" msgstr "" @@ -764,7 +794,7 @@ msgstr "" msgid "Number of stock items which have been completed" msgstr "" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" msgstr "" @@ -772,7 +802,7 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" msgstr "" @@ -780,16 +810,16 @@ msgstr "" msgid "Batch code for this build output" msgstr "" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" msgstr "" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" msgstr "" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" msgstr "" @@ -797,7 +827,7 @@ msgstr "" msgid "completed by" msgstr "" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" msgstr "" @@ -808,9 +838,9 @@ msgstr "" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" msgstr "" @@ -821,34 +851,33 @@ msgstr "" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" msgstr "" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" msgstr "" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" msgstr "" @@ -881,11 +910,11 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -899,8 +928,8 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" msgstr "" @@ -912,9 +941,9 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" msgstr "" @@ -936,12 +965,12 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" msgstr "" @@ -993,7 +1022,7 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" @@ -1005,9 +1034,9 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" msgstr "" @@ -1057,14 +1086,14 @@ msgid "Progress" msgstr "" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" msgstr "" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,16 +1213,16 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" msgstr "" @@ -1201,7 +1230,7 @@ msgstr "" msgid "No target date set" msgstr "" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,7 +1254,7 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" @@ -1238,8 +1267,8 @@ msgid "Order required parts" msgstr "" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" msgstr "" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po index 0bd8a11455..f3febfab99 100644 --- a/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/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: 2021-08-07 15:14+0000\n" -"PO-Revision-Date: 2021-08-07 15:30\n" +"POT-Creation-Date: 2021-09-12 13:15+0000\n" +"PO-Revision-Date: 2021-09-12 13:44\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -36,7 +36,7 @@ msgstr "输入日期" #: InvenTree/forms.py:111 build/forms.py:102 build/forms.py:123 #: build/forms.py:145 build/forms.py:169 build/forms.py:185 build/forms.py:227 #: order/forms.py:30 order/forms.py:41 order/forms.py:52 order/forms.py:63 -#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:545 +#: order/forms.py:74 part/forms.py:108 templates/js/translated/forms.js:564 msgid "Confirm" msgstr "确认" @@ -46,7 +46,7 @@ msgstr "确认删除" #: InvenTree/forms.py:128 msgid "Confirm item deletion" -msgstr "" +msgstr "确认删除" #: InvenTree/forms.py:160 templates/registration/login.html:76 msgid "Enter password" @@ -71,27 +71,27 @@ msgstr "选择分类" #: InvenTree/helpers.py:401 #, python-brace-format msgid "Duplicate serial: {n}" -msgstr "" +msgstr "重复的序列号: {n}" -#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:425 +#: InvenTree/helpers.py:408 order/models.py:315 order/models.py:430 #: stock/views.py:1363 msgid "Invalid quantity provided" -msgstr "" +msgstr "提供的数量无效" #: InvenTree/helpers.py:411 msgid "Empty serial number string" -msgstr "" +msgstr "空序列号字符串" #: InvenTree/helpers.py:433 InvenTree/helpers.py:436 InvenTree/helpers.py:439 #: InvenTree/helpers.py:464 #, python-brace-format msgid "Invalid group: {g}" -msgstr "" +msgstr "无效的群组: {g}" #: InvenTree/helpers.py:469 #, python-brace-format msgid "Duplicate serial: {g}" -msgstr "" +msgstr "重复的序列号: {g}" #: InvenTree/helpers.py:477 msgid "No serial numbers found" @@ -100,441 +100,469 @@ msgstr "未找到序列号" #: InvenTree/helpers.py:481 #, python-brace-format msgid "Number of unique serial number ({s}) must match quantity ({q})" -msgstr "" +msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})" -#: InvenTree/models.py:61 stock/models.py:1815 +#: InvenTree/models.py:66 stock/models.py:1826 msgid "Attachment" msgstr "附件" -#: InvenTree/models.py:62 +#: InvenTree/models.py:67 msgid "Select file to attach" msgstr "选择附件" -#: InvenTree/models.py:64 templates/js/translated/attachment.js:52 +#: InvenTree/models.py:69 templates/js/translated/attachment.js:87 msgid "Comment" msgstr "注释" -#: InvenTree/models.py:64 +#: InvenTree/models.py:69 msgid "File comment" msgstr "文件注释" -#: InvenTree/models.py:70 InvenTree/models.py:71 common/models.py:969 -#: common/models.py:970 part/models.py:2035 +#: InvenTree/models.py:75 InvenTree/models.py:76 common/models.py:993 +#: common/models.py:994 part/models.py:2051 #: report/templates/report/inventree_test_report_base.html:91 -#: templates/js/translated/stock.js:1549 +#: templates/js/translated/stock.js:1690 msgid "User" msgstr "用户" -#: InvenTree/models.py:74 +#: InvenTree/models.py:79 msgid "upload date" msgstr "上传日期" -#: InvenTree/models.py:113 -msgid "Invalid choice" -msgstr "" +#: InvenTree/models.py:99 +msgid "Filename must not be empty" +msgstr "文件名不能为空!" -#: InvenTree/models.py:129 InvenTree/models.py:130 company/models.py:412 -#: label/models.py:112 part/models.py:656 part/models.py:2196 -#: part/templates/part/part_base.html:233 report/models.py:181 +#: InvenTree/models.py:122 +msgid "Invalid attachment directory" +msgstr "非法的附件目录" + +#: InvenTree/models.py:132 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "文件名包含非法字符 '{c}'" + +#: InvenTree/models.py:135 +msgid "Filename missing extension" +msgstr "缺少文件名扩展" + +#: InvenTree/models.py:142 +msgid "Attachment with this filename already exists" +msgstr "使用此文件名的附件已存在" + +#: InvenTree/models.py:149 +msgid "Error renaming file" +msgstr "重命名文件出错" + +#: InvenTree/models.py:184 +msgid "Invalid choice" +msgstr "选择无效" + +#: InvenTree/models.py:200 InvenTree/models.py:201 company/models.py:414 +#: label/models.py:112 part/models.py:658 part/models.py:2212 +#: part/templates/part/part_base.html:241 report/models.py:181 #: templates/InvenTree/search.html:137 templates/InvenTree/search.html:289 -#: templates/js/translated/company.js:583 templates/js/translated/part.js:338 -#: templates/js/translated/part.js:471 templates/js/translated/part.js:963 -#: templates/js/translated/stock.js:1342 +#: templates/js/translated/company.js:636 templates/js/translated/part.js:466 +#: templates/js/translated/part.js:603 templates/js/translated/part.js:1130 +#: templates/js/translated/stock.js:1483 msgid "Name" msgstr "名称" -#: InvenTree/models.py:136 build/models.py:187 -#: build/templates/build/detail.html:24 company/models.py:351 -#: company/models.py:519 company/templates/company/manufacturer_part.html:76 +#: InvenTree/models.py:207 build/models.py:187 +#: build/templates/build/detail.html:24 company/models.py:353 +#: company/models.py:569 company/templates/company/manufacturer_part.html:76 #: company/templates/company/supplier_part.html:75 label/models.py:119 -#: order/models.py:158 order/templates/order/purchase_order_detail.html:312 -#: part/models.py:679 part/templates/part/part_base.html:238 +#: order/models.py:158 part/models.py:681 +#: part/templates/part/part_base.html:246 #: part/templates/part/set_category.html:14 report/models.py:194 #: report/models.py:551 report/models.py:590 #: report/templates/report/inventree_build_order_base.html:118 #: templates/InvenTree/search.html:144 templates/InvenTree/search.html:224 #: templates/InvenTree/search.html:296 #: templates/InvenTree/settings/header.html:9 -#: templates/js/translated/bom.js:210 templates/js/translated/build.js:868 -#: templates/js/translated/build.js:1162 templates/js/translated/company.js:299 -#: templates/js/translated/company.js:497 -#: templates/js/translated/company.js:779 templates/js/translated/order.js:267 -#: templates/js/translated/order.js:369 templates/js/translated/part.js:397 -#: templates/js/translated/part.js:581 templates/js/translated/part.js:758 -#: templates/js/translated/part.js:975 templates/js/translated/part.js:1043 -#: templates/js/translated/stock.js:926 templates/js/translated/stock.js:1354 -#: templates/js/translated/stock.js:1399 +#: templates/js/translated/bom.js:230 templates/js/translated/build.js:891 +#: templates/js/translated/build.js:1179 templates/js/translated/company.js:344 +#: templates/js/translated/company.js:546 +#: templates/js/translated/company.js:834 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:486 templates/js/translated/order.js:710 +#: templates/js/translated/part.js:525 templates/js/translated/part.js:713 +#: templates/js/translated/part.js:902 templates/js/translated/part.js:1142 +#: templates/js/translated/part.js:1210 templates/js/translated/stock.js:840 +#: templates/js/translated/stock.js:1495 templates/js/translated/stock.js:1540 msgid "Description" -msgstr "" +msgstr "描述信息" -#: InvenTree/models.py:137 +#: InvenTree/models.py:208 msgid "Description (optional)" -msgstr "" +msgstr "描述 (可选)" -#: InvenTree/models.py:145 +#: InvenTree/models.py:216 msgid "parent" -msgstr "" +msgstr "上级项" -#: InvenTree/serializers.py:52 part/models.py:2438 +#: InvenTree/serializers.py:55 part/models.py:2454 msgid "Must be a valid number" -msgstr "" +msgstr "必须是有效数字" -#: InvenTree/settings.py:518 -msgid "German" -msgstr "" - -#: InvenTree/settings.py:519 -msgid "Greek" -msgstr "" - -#: InvenTree/settings.py:520 -msgid "English" -msgstr "" - -#: InvenTree/settings.py:521 -msgid "Spanish" -msgstr "" - -#: InvenTree/settings.py:522 -msgid "French" -msgstr "" +#: InvenTree/serializers.py:244 +msgid "Filename" +msgstr "文件名" #: InvenTree/settings.py:523 -msgid "Hebrew" -msgstr "" +msgid "German" +msgstr "德语" #: InvenTree/settings.py:524 -msgid "Italian" -msgstr "" +msgid "Greek" +msgstr "希腊语" #: InvenTree/settings.py:525 -msgid "Japanese" -msgstr "" +msgid "English" +msgstr "英语" #: InvenTree/settings.py:526 -msgid "Korean" -msgstr "" +msgid "Spanish" +msgstr "西班牙语" #: InvenTree/settings.py:527 -msgid "Dutch" -msgstr "" +msgid "French" +msgstr "法语" #: InvenTree/settings.py:528 -msgid "Norwegian" -msgstr "" +msgid "Hebrew" +msgstr "希伯来语" #: InvenTree/settings.py:529 -msgid "Polish" -msgstr "" +msgid "Italian" +msgstr "意大利语" #: InvenTree/settings.py:530 -msgid "Russian" -msgstr "" +msgid "Japanese" +msgstr "日语" #: InvenTree/settings.py:531 -msgid "Swedish" -msgstr "" +msgid "Korean" +msgstr "韩语" #: InvenTree/settings.py:532 -msgid "Thai" -msgstr "" +msgid "Dutch" +msgstr "荷兰语" #: InvenTree/settings.py:533 -msgid "Turkish" -msgstr "" +msgid "Norwegian" +msgstr "挪威语" #: InvenTree/settings.py:534 -msgid "Vietnamese" -msgstr "" +msgid "Polish" +msgstr "波兰语" #: InvenTree/settings.py:535 +msgid "Russian" +msgstr "俄语" + +#: InvenTree/settings.py:536 +msgid "Swedish" +msgstr "瑞典语" + +#: InvenTree/settings.py:537 +msgid "Thai" +msgstr "泰语" + +#: InvenTree/settings.py:538 +msgid "Turkish" +msgstr "土耳其语" + +#: InvenTree/settings.py:539 +msgid "Vietnamese" +msgstr "越南语" + +#: InvenTree/settings.py:540 msgid "Chinese" -msgstr "" +msgstr "中文(简体)" #: InvenTree/status.py:94 msgid "Background worker check failed" -msgstr "" +msgstr "后台工作人员检查失败" #: InvenTree/status.py:98 msgid "Email backend not configured" -msgstr "" +msgstr "未配置电子邮件后端" #: InvenTree/status.py:101 msgid "InvenTree system health checks failed" -msgstr "" +msgstr "InventTree系统健康检查失败" #: InvenTree/status_codes.py:104 InvenTree/status_codes.py:145 #: InvenTree/status_codes.py:314 msgid "Pending" -msgstr "" +msgstr "待定" #: InvenTree/status_codes.py:105 msgid "Placed" -msgstr "" +msgstr "已添加" #: InvenTree/status_codes.py:106 InvenTree/status_codes.py:317 msgid "Complete" -msgstr "" +msgstr "完成" #: InvenTree/status_codes.py:107 InvenTree/status_codes.py:147 #: InvenTree/status_codes.py:316 msgid "Cancelled" -msgstr "" +msgstr "已取消" #: InvenTree/status_codes.py:108 InvenTree/status_codes.py:148 #: InvenTree/status_codes.py:190 msgid "Lost" -msgstr "" +msgstr "丢失" #: InvenTree/status_codes.py:109 InvenTree/status_codes.py:149 #: InvenTree/status_codes.py:192 msgid "Returned" -msgstr "" +msgstr "已退回" #: InvenTree/status_codes.py:146 #: order/templates/order/sales_order_base.html:126 msgid "Shipped" -msgstr "" +msgstr "已发货" #: InvenTree/status_codes.py:186 msgid "OK" -msgstr "" +msgstr "确定" #: InvenTree/status_codes.py:187 msgid "Attention needed" -msgstr "" +msgstr "注意" #: InvenTree/status_codes.py:188 msgid "Damaged" -msgstr "" +msgstr "破损" #: InvenTree/status_codes.py:189 msgid "Destroyed" -msgstr "" +msgstr "销毁" #: InvenTree/status_codes.py:191 msgid "Rejected" -msgstr "" +msgstr "已拒绝" #: InvenTree/status_codes.py:272 msgid "Legacy stock tracking entry" -msgstr "" +msgstr "旧库存跟踪条目" #: InvenTree/status_codes.py:274 msgid "Stock item created" -msgstr "" +msgstr "库存项已创建" #: InvenTree/status_codes.py:276 msgid "Edited stock item" -msgstr "" +msgstr "已编辑库存项" #: InvenTree/status_codes.py:277 msgid "Assigned serial number" -msgstr "" +msgstr "已分配序列号" #: InvenTree/status_codes.py:279 msgid "Stock counted" -msgstr "" +msgstr "库存计数" #: InvenTree/status_codes.py:280 msgid "Stock manually added" -msgstr "" +msgstr "已手动添加库存" #: InvenTree/status_codes.py:281 msgid "Stock manually removed" -msgstr "" +msgstr "库存手动删除" #: InvenTree/status_codes.py:283 msgid "Location changed" -msgstr "" +msgstr "位置已更改" #: InvenTree/status_codes.py:285 msgid "Installed into assembly" -msgstr "" +msgstr "安装到组装中" #: InvenTree/status_codes.py:286 msgid "Removed from assembly" -msgstr "" +msgstr "已从组装中删除" #: InvenTree/status_codes.py:288 msgid "Installed component item" -msgstr "" +msgstr "已安装组件项" #: InvenTree/status_codes.py:289 msgid "Removed component item" -msgstr "" +msgstr "已删除组件项" #: InvenTree/status_codes.py:291 msgid "Split from parent item" -msgstr "" +msgstr "从父项拆分" #: InvenTree/status_codes.py:292 msgid "Split child item" -msgstr "" +msgstr "拆分子项" -#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:173 +#: InvenTree/status_codes.py:294 templates/js/translated/table_filters.js:186 msgid "Sent to customer" -msgstr "" +msgstr "发送给客户" #: InvenTree/status_codes.py:295 msgid "Returned from customer" -msgstr "" +msgstr "从客户退货" #: InvenTree/status_codes.py:297 msgid "Build order output created" -msgstr "" +msgstr "已创建生产订单输出" #: InvenTree/status_codes.py:298 msgid "Build order output completed" -msgstr "" +msgstr "生产订单输出已完成" #: InvenTree/status_codes.py:300 msgid "Received against purchase order" -msgstr "" +msgstr "收到定购单" #: InvenTree/status_codes.py:315 msgid "Production" -msgstr "" +msgstr "产品" #: InvenTree/validators.py:22 msgid "Not a valid currency code" -msgstr "" +msgstr "不是有效的货币代码" #: InvenTree/validators.py:50 msgid "Invalid character in part name" -msgstr "" +msgstr "部件名称中存在无效字符" #: InvenTree/validators.py:63 #, python-brace-format msgid "IPN must match regex pattern {pat}" -msgstr "" +msgstr "IPN 必须匹配正则表达式 {pat}" #: InvenTree/validators.py:77 InvenTree/validators.py:91 #: InvenTree/validators.py:105 #, python-brace-format msgid "Reference must match pattern {pattern}" -msgstr "" +msgstr "引用必须匹配模板 {pattern}" #: InvenTree/validators.py:113 #, python-brace-format msgid "Illegal character in name ({x})" -msgstr "" +msgstr "名称中存在非法字符 ({x})" #: InvenTree/validators.py:132 InvenTree/validators.py:148 msgid "Overage value must not be negative" -msgstr "" +msgstr "备损值不能为负数" #: InvenTree/validators.py:150 msgid "Overage must not exceed 100%" -msgstr "" +msgstr "备损不能超过 100%" #: InvenTree/validators.py:157 msgid "Overage must be an integer value or a percentage" -msgstr "" +msgstr "备损必须是整数值或百分比" -#: InvenTree/views.py:612 +#: InvenTree/views.py:610 msgid "Delete Item" -msgstr "" +msgstr "删除项" -#: InvenTree/views.py:661 +#: InvenTree/views.py:659 msgid "Check box to confirm item deletion" -msgstr "" +msgstr "选中方框以确认项目删除" -#: InvenTree/views.py:676 templates/InvenTree/settings/user.html:14 +#: InvenTree/views.py:674 templates/InvenTree/settings/user.html:14 msgid "Edit User Information" -msgstr "" +msgstr "编辑用户信息" -#: InvenTree/views.py:687 templates/InvenTree/settings/user.html:18 +#: InvenTree/views.py:685 templates/InvenTree/settings/user.html:18 msgid "Set Password" -msgstr "" +msgstr "设置密码" -#: InvenTree/views.py:706 +#: InvenTree/views.py:704 msgid "Password fields must match" -msgstr "" +msgstr "密码字段必须相匹配。" -#: InvenTree/views.py:907 templates/navbar.html:95 +#: InvenTree/views.py:910 templates/navbar.html:105 msgid "System Information" -msgstr "" +msgstr "系统信息" #: barcodes/api.py:53 barcodes/api.py:150 msgid "Must provide barcode_data parameter" -msgstr "" +msgstr "必须提供条码数据参数" #: barcodes/api.py:126 msgid "No match found for barcode data" -msgstr "" +msgstr "未找到匹配条形码数据" #: barcodes/api.py:128 msgid "Match found for barcode data" -msgstr "" +msgstr "找到匹配条形码数据" #: barcodes/api.py:153 msgid "Must provide stockitem parameter" -msgstr "" +msgstr "必须提供库存项参数" #: barcodes/api.py:160 msgid "No matching stock item found" -msgstr "" +msgstr "未找到匹配的库存项" #: barcodes/api.py:190 msgid "Barcode already matches StockItem object" -msgstr "" +msgstr "条形码已经匹配库存项" #: barcodes/api.py:194 msgid "Barcode already matches StockLocation object" -msgstr "" +msgstr "条形码已经匹配库存地对象" #: barcodes/api.py:198 msgid "Barcode already matches Part object" -msgstr "" +msgstr "条形码已经匹配部件对象" #: barcodes/api.py:204 barcodes/api.py:216 msgid "Barcode hash already matches StockItem object" -msgstr "" +msgstr "条码哈希值已经匹配库存项目" #: barcodes/api.py:222 msgid "Barcode associated with StockItem" -msgstr "" +msgstr "与库存项关联的条形码" #: build/forms.py:37 msgid "Build Order reference" -msgstr "" +msgstr "相关生产订单" #: build/forms.py:38 msgid "Order target date" -msgstr "" +msgstr "订单预计日期" #: build/forms.py:42 build/templates/build/build_base.html:146 #: build/templates/build/detail.html:124 #: order/templates/order/order_base.html:124 #: order/templates/order/sales_order_base.html:119 #: report/templates/report/inventree_build_order_base.html:126 -#: templates/js/translated/build.js:945 templates/js/translated/order.js:284 -#: templates/js/translated/order.js:387 +#: templates/js/translated/build.js:962 templates/js/translated/order.js:358 +#: templates/js/translated/order.js:728 msgid "Target Date" -msgstr "" +msgstr "预计日期" #: build/forms.py:43 build/models.py:277 msgid "Target date for build completion. Build will be overdue after this date." -msgstr "" +msgstr "生产完成的目标日期。生产将在此日期之后逾期。" #: build/forms.py:48 build/forms.py:90 build/forms.py:266 build/models.py:1402 #: build/templates/build/allocation_card.html:23 #: build/templates/build/auto_allocate.html:17 #: build/templates/build/build_base.html:133 -#: build/templates/build/detail.html:34 common/models.py:1001 +#: build/templates/build/detail.html:34 common/models.py:1025 #: company/forms.py:42 company/templates/company/supplier_part.html:226 -#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:706 -#: order/models.py:952 order/templates/order/order_wizard/match_parts.html:30 +#: order/forms.py:120 order/forms.py:142 order/forms.py:159 order/models.py:712 +#: order/models.py:964 order/templates/order/order_wizard/match_parts.html:30 #: order/templates/order/order_wizard/select_parts.html:34 -#: order/templates/order/purchase_order_detail.html:348 -#: order/templates/order/sales_order_detail.html:200 -#: order/templates/order/sales_order_detail.html:207 -#: order/templates/order/sales_order_detail.html:292 -#: order/templates/order/sales_order_detail.html:364 part/forms.py:249 -#: part/forms.py:265 part/forms.py:281 part/models.py:2340 +#: order/templates/order/sales_order_detail.html:201 +#: order/templates/order/sales_order_detail.html:208 +#: order/templates/order/sales_order_detail.html:293 +#: order/templates/order/sales_order_detail.html:365 part/forms.py:249 +#: part/forms.py:265 part/forms.py:281 part/models.py:2356 #: part/templates/part/bom_upload/match_parts.html:31 -#: part/templates/part/detail.html:940 part/templates/part/detail.html:1026 +#: part/templates/part/detail.html:973 part/templates/part/detail.html:1059 #: part/templates/part/part_pricing.html:16 #: report/templates/report/inventree_build_order_base.html:114 #: report/templates/report/inventree_po_report.html:91 @@ -542,168 +570,169 @@ msgstr "" #: report/templates/report/inventree_test_report_base.html:77 #: stock/forms.py:140 stock/templates/stock/item_base.html:269 #: stock/templates/stock/stock_adjust.html:18 -#: templates/js/translated/barcode.js:364 templates/js/translated/bom.js:225 -#: templates/js/translated/build.js:271 templates/js/translated/build.js:606 -#: templates/js/translated/build.js:1172 -#: templates/js/translated/model_renderers.js:56 -#: templates/js/translated/order.js:482 templates/js/translated/part.js:1148 -#: templates/js/translated/part.js:1270 templates/js/translated/part.js:1326 -#: templates/js/translated/stock.js:1534 templates/js/translated/stock.js:1732 +#: templates/js/translated/barcode.js:386 templates/js/translated/bom.js:245 +#: templates/js/translated/build.js:298 templates/js/translated/build.js:629 +#: templates/js/translated/build.js:1189 +#: templates/js/translated/model_renderers.js:59 +#: templates/js/translated/order.js:522 templates/js/translated/order.js:824 +#: templates/js/translated/part.js:1317 templates/js/translated/part.js:1440 +#: templates/js/translated/part.js:1518 templates/js/translated/stock.js:1675 +#: templates/js/translated/stock.js:1850 msgid "Quantity" -msgstr "" +msgstr "库存数" #: build/forms.py:49 msgid "Number of items to build" -msgstr "" +msgstr "要生产的项目数量" #: build/forms.py:91 msgid "Enter quantity for build output" -msgstr "" +msgstr "输入生产产出数量" #: build/forms.py:95 order/forms.py:114 stock/forms.py:83 msgid "Serial Numbers" -msgstr "" +msgstr "序列号" #: build/forms.py:97 msgid "Enter serial numbers for build outputs" -msgstr "" +msgstr "输入生产产出的序列号" #: build/forms.py:103 msgid "Confirm creation of build output" -msgstr "" +msgstr "确认创建生产产出" #: build/forms.py:124 msgid "Confirm deletion of build output" -msgstr "" +msgstr "确认删除生产产出" #: build/forms.py:145 msgid "Confirm unallocation of stock" -msgstr "" +msgstr "确认取消分配库存" #: build/forms.py:169 msgid "Confirm stock allocation" -msgstr "" +msgstr "确认库存分配" #: build/forms.py:186 msgid "Mark build as complete" -msgstr "" +msgstr "标记生产已完成" #: build/forms.py:210 build/templates/build/auto_allocate.html:18 -#: stock/forms.py:280 stock/templates/stock/item_base.html:299 +#: order/serializers.py:216 order/serializers.py:275 stock/forms.py:280 +#: stock/templates/stock/item_base.html:299 #: stock/templates/stock/stock_adjust.html:17 -#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:363 -#: templates/js/translated/barcode.js:531 templates/js/translated/build.js:256 -#: templates/js/translated/build.js:620 templates/js/translated/order.js:467 -#: templates/js/translated/stock.js:134 templates/js/translated/stock.js:260 -#: templates/js/translated/stock.js:1012 templates/js/translated/stock.js:1426 +#: templates/InvenTree/search.html:260 templates/js/translated/barcode.js:385 +#: templates/js/translated/barcode.js:555 templates/js/translated/build.js:283 +#: templates/js/translated/build.js:643 templates/js/translated/order.js:809 +#: templates/js/translated/part.js:174 templates/js/translated/stock.js:203 +#: templates/js/translated/stock.js:329 templates/js/translated/stock.js:942 +#: templates/js/translated/stock.js:1567 msgid "Location" -msgstr "" +msgstr "所在地" #: build/forms.py:211 msgid "Location of completed parts" -msgstr "" +msgstr "已完成部件所在地" #: build/forms.py:215 build/templates/build/build_base.html:138 -#: build/templates/build/detail.html:62 order/models.py:549 -#: order/templates/order/receive_parts.html:24 +#: build/templates/build/detail.html:62 order/models.py:555 +#: order/serializers.py:230 order/templates/order/receive_parts.html:24 #: stock/templates/stock/item_base.html:422 templates/InvenTree/search.html:252 -#: templates/js/translated/barcode.js:119 templates/js/translated/build.js:902 -#: templates/js/translated/order.js:271 templates/js/translated/order.js:374 -#: templates/js/translated/stock.js:999 templates/js/translated/stock.js:1503 -#: templates/js/translated/stock.js:1748 +#: templates/js/translated/barcode.js:141 templates/js/translated/build.js:925 +#: templates/js/translated/order.js:345 templates/js/translated/order.js:715 +#: templates/js/translated/stock.js:917 templates/js/translated/stock.js:1644 +#: templates/js/translated/stock.js:1866 msgid "Status" -msgstr "" +msgstr "状态" #: build/forms.py:216 msgid "Build output stock status" -msgstr "" +msgstr "生产产出库存状态" #: build/forms.py:223 msgid "Confirm incomplete" -msgstr "" +msgstr "确认未完成" #: build/forms.py:224 msgid "Confirm completion with incomplete stock allocation" -msgstr "" +msgstr "确认以未完成库存分配方式完成" #: build/forms.py:227 msgid "Confirm build completion" -msgstr "" +msgstr "确认生产完成" #: build/forms.py:252 msgid "Confirm cancel" -msgstr "" +msgstr "确认取消" #: build/forms.py:252 build/views.py:65 msgid "Confirm build cancellation" -msgstr "" +msgstr "确认生产取消" #: build/forms.py:266 msgid "Select quantity of stock to allocate" -msgstr "" +msgstr "选择要分配的库存数量" #: build/models.py:113 msgid "Invalid choice for parent build" -msgstr "" +msgstr "上级生产选项无效" #: build/models.py:117 build/templates/build/build_base.html:9 #: build/templates/build/build_base.html:73 #: report/templates/report/inventree_build_order_base.html:106 -#: templates/js/translated/build.js:233 +#: templates/js/translated/build.js:260 msgid "Build Order" -msgstr "" +msgstr "生产订单" #: build/models.py:118 build/templates/build/index.html:8 #: build/templates/build/index.html:15 #: order/templates/order/sales_order_detail.html:34 #: order/templates/order/so_navbar.html:19 -#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:42 -#: part/templates/part/navbar.html:45 templates/InvenTree/index.html:229 +#: order/templates/order/so_navbar.html:22 part/templates/part/navbar.html:50 +#: part/templates/part/navbar.html:53 templates/InvenTree/index.html:229 #: templates/InvenTree/search.html:185 #: templates/InvenTree/settings/navbar.html:101 #: templates/InvenTree/settings/navbar.html:103 users/models.py:44 msgid "Build Orders" -msgstr "" +msgstr "生产订单" #: build/models.py:178 msgid "Build Order Reference" -msgstr "" +msgstr "相关生产订单" -#: build/models.py:179 order/models.py:246 order/models.py:533 -#: order/models.py:713 order/templates/order/purchase_order_detail.html:343 -#: order/templates/order/sales_order_detail.html:359 part/models.py:2349 -#: part/templates/part/bom_upload/match_parts.html:30 +#: build/models.py:179 order/models.py:246 order/models.py:539 +#: order/models.py:719 order/templates/order/sales_order_detail.html:360 +#: part/models.py:2365 part/templates/part/bom_upload/match_parts.html:30 #: report/templates/report/inventree_po_report.html:92 #: report/templates/report/inventree_so_report.html:92 -#: templates/js/translated/bom.js:217 templates/js/translated/build.js:695 -#: templates/js/translated/build.js:1166 +#: templates/js/translated/bom.js:237 templates/js/translated/build.js:718 +#: templates/js/translated/build.js:1183 templates/js/translated/order.js:517 msgid "Reference" -msgstr "" +msgstr "引用" #: build/models.py:190 msgid "Brief description of the build" -msgstr "" +msgstr "生产的简短描述." #: build/models.py:199 build/templates/build/build_base.html:163 #: build/templates/build/detail.html:80 msgid "Parent Build" -msgstr "" +msgstr "上级生产" #: build/models.py:200 msgid "BuildOrder to which this build is allocated" -msgstr "" +msgstr "此次生生匹配的订单" #: build/models.py:205 build/templates/build/auto_allocate.html:16 #: build/templates/build/build_base.html:128 -#: build/templates/build/detail.html:29 company/models.py:654 -#: order/models.py:766 order/models.py:825 +#: build/templates/build/detail.html:29 company/models.py:704 +#: order/models.py:772 order/models.py:837 #: order/templates/order/order_wizard/select_parts.html:32 -#: order/templates/order/purchase_order_detail.html:297 #: order/templates/order/receive_parts.html:19 -#: order/templates/order/sales_order_detail.html:344 part/models.py:295 -#: part/models.py:1980 part/models.py:1996 part/models.py:2015 -#: part/models.py:2033 part/models.py:2112 part/models.py:2234 -#: part/models.py:2324 part/templates/part/detail.html:199 +#: order/templates/order/sales_order_detail.html:345 part/models.py:297 +#: part/models.py:1996 part/models.py:2012 part/models.py:2031 +#: part/models.py:2049 part/models.py:2128 part/models.py:2250 +#: part/models.py:2340 part/templates/part/detail.html:199 #: part/templates/part/part_app_base.html:8 #: part/templates/part/part_pricing.html:12 #: part/templates/part/set_category.html:13 @@ -711,30 +740,31 @@ msgstr "" #: report/templates/report/inventree_po_report.html:90 #: report/templates/report/inventree_so_report.html:90 #: templates/InvenTree/search.html:112 templates/InvenTree/search.html:210 -#: templates/js/translated/barcode.js:362 templates/js/translated/bom.js:183 -#: templates/js/translated/build.js:586 templates/js/translated/build.js:873 -#: templates/js/translated/build.js:1139 templates/js/translated/company.js:438 -#: templates/js/translated/company.js:688 templates/js/translated/part.js:562 -#: templates/js/translated/part.js:725 templates/js/translated/stock.js:132 -#: templates/js/translated/stock.js:895 templates/js/translated/stock.js:1720 +#: templates/js/translated/barcode.js:384 templates/js/translated/bom.js:203 +#: templates/js/translated/build.js:609 templates/js/translated/build.js:896 +#: templates/js/translated/build.js:1156 templates/js/translated/company.js:487 +#: templates/js/translated/company.js:743 templates/js/translated/order.js:471 +#: templates/js/translated/part.js:694 templates/js/translated/part.js:864 +#: templates/js/translated/stock.js:201 templates/js/translated/stock.js:797 +#: templates/js/translated/stock.js:1838 msgid "Part" -msgstr "" +msgstr "部件" #: build/models.py:213 msgid "Select part to build" -msgstr "" +msgstr "选择生产所需部件" #: build/models.py:218 msgid "Sales Order Reference" -msgstr "" +msgstr "相关销售订单" #: build/models.py:222 msgid "SalesOrder to which this build is allocated" -msgstr "" +msgstr "此次生产匹配的销售订单" #: build/models.py:227 msgid "Source Location" -msgstr "" +msgstr "来源地点" #: build/models.py:231 msgid "Select location to take stock from for this build (leave blank to take from any stock location)" @@ -742,131 +772,130 @@ msgstr "" #: build/models.py:236 msgid "Destination Location" -msgstr "" +msgstr "目标地点" #: build/models.py:240 msgid "Select location where the completed items will be stored" -msgstr "" +msgstr "选择已完成项目存储的位置" #: build/models.py:244 msgid "Build Quantity" -msgstr "" +msgstr "生产数量" #: build/models.py:247 msgid "Number of stock items to build" -msgstr "" +msgstr "要生产的项目数量" #: build/models.py:251 msgid "Completed items" -msgstr "" +msgstr "已完成项目" #: build/models.py:253 msgid "Number of stock items which have been completed" -msgstr "" +msgstr "已完成的库存项目数量" -#: build/models.py:257 part/templates/part/part_base.html:191 +#: build/models.py:257 part/templates/part/part_base.html:198 msgid "Build Status" -msgstr "" +msgstr "生产状态" #: build/models.py:261 msgid "Build status code" -msgstr "" +msgstr "生产状态代码" -#: build/models.py:265 stock/models.py:507 +#: build/models.py:265 stock/models.py:513 msgid "Batch Code" -msgstr "" +msgstr "批量代码" #: build/models.py:269 msgid "Batch code for this build output" -msgstr "" +msgstr "此生产产出的批量代码" -#: build/models.py:272 order/models.py:162 part/models.py:851 -#: part/templates/part/part_base.html:264 templates/js/translated/order.js:382 +#: build/models.py:272 order/models.py:162 part/models.py:853 +#: part/templates/part/part_base.html:272 templates/js/translated/order.js:723 msgid "Creation Date" -msgstr "" +msgstr "创建日期" -#: build/models.py:276 order/models.py:555 +#: build/models.py:276 order/models.py:561 msgid "Target completion date" -msgstr "" +msgstr "预计完成日期" -#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:950 +#: build/models.py:280 order/models.py:288 templates/js/translated/build.js:967 msgid "Completion Date" -msgstr "" +msgstr "完成日期:" #: build/models.py:286 msgid "completed by" -msgstr "" +msgstr "完成人" -#: build/models.py:294 templates/js/translated/build.js:915 +#: build/models.py:294 templates/js/translated/build.js:938 msgid "Issued by" -msgstr "" +msgstr "发布者" #: build/models.py:295 msgid "User who issued this build order" -msgstr "" +msgstr "发布此生产订单的用户" #: build/models.py:303 build/templates/build/build_base.html:184 #: build/templates/build/detail.html:108 order/models.py:176 #: order/templates/order/order_base.html:138 -#: order/templates/order/sales_order_base.html:140 part/models.py:855 +#: order/templates/order/sales_order_base.html:140 part/models.py:857 #: report/templates/report/inventree_build_order_base.html:159 -#: templates/js/translated/build.js:930 +#: templates/js/translated/build.js:950 msgid "Responsible" -msgstr "" +msgstr "责任人" #: build/models.py:304 msgid "User responsible for this build order" -msgstr "" +msgstr "负责此生产订单的用户" #: build/models.py:309 build/templates/build/detail.html:94 #: company/templates/company/manufacturer_part.html:83 #: company/templates/company/supplier_part.html:82 -#: part/templates/part/part_base.html:258 stock/models.py:501 +#: part/templates/part/part_base.html:266 stock/models.py:507 #: stock/templates/stock/item_base.html:359 msgid "External Link" -msgstr "" +msgstr "外部链接" -#: build/models.py:310 part/models.py:713 stock/models.py:503 +#: build/models.py:310 part/models.py:715 stock/models.py:509 msgid "Link to external URL" -msgstr "" +msgstr "链接到外部 URL" #: build/models.py:314 build/templates/build/navbar.html:52 -#: company/models.py:139 company/models.py:526 -#: company/templates/company/navbar.html:63 -#: company/templates/company/navbar.html:66 order/models.py:180 -#: order/models.py:715 order/templates/order/po_navbar.html:38 +#: company/models.py:141 company/models.py:576 +#: company/templates/company/navbar.html:69 +#: company/templates/company/navbar.html:72 order/models.py:180 +#: order/models.py:721 order/templates/order/po_navbar.html:38 #: order/templates/order/po_navbar.html:41 -#: order/templates/order/purchase_order_detail.html:419 -#: order/templates/order/sales_order_detail.html:439 +#: order/templates/order/sales_order_detail.html:440 #: order/templates/order/so_navbar.html:33 -#: order/templates/order/so_navbar.html:36 part/models.py:840 -#: part/templates/part/detail.html:105 part/templates/part/navbar.html:108 -#: part/templates/part/navbar.html:111 +#: order/templates/order/so_navbar.html:36 part/models.py:842 +#: part/templates/part/detail.html:105 part/templates/part/navbar.html:120 +#: part/templates/part/navbar.html:123 #: report/templates/report/inventree_build_order_base.html:173 -#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:573 -#: stock/models.py:1715 stock/models.py:1821 -#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:37 -#: templates/js/translated/bom.js:369 templates/js/translated/company.js:784 -#: templates/js/translated/stock.js:268 templates/js/translated/stock.js:509 -#: templates/js/translated/stock.js:1090 +#: stock/forms.py:138 stock/forms.py:250 stock/forms.py:282 stock/models.py:579 +#: stock/models.py:1726 stock/models.py:1832 +#: stock/templates/stock/navbar.html:57 templates/js/translated/barcode.js:59 +#: templates/js/translated/bom.js:385 templates/js/translated/company.js:839 +#: templates/js/translated/order.js:604 templates/js/translated/stock.js:338 +#: templates/js/translated/stock.js:580 templates/js/translated/stock.js:1061 msgid "Notes" -msgstr "" +msgstr "备注" #: build/models.py:315 msgid "Extra build notes" -msgstr "" +msgstr "额外的生产备注" #: build/models.py:792 msgid "No build output specified" -msgstr "" +msgstr "未指定生产产出" #: build/models.py:795 msgid "Build output is already completed" -msgstr "" +msgstr "生产产出已完成" #: build/models.py:798 msgid "Build output does not match Build Order" -msgstr "" +msgstr "生产产出与订单不匹配" #: build/models.py:1208 msgid "BuildItem must be unique for build, stock_item and install_into" @@ -881,13 +910,13 @@ msgstr "" msgid "Allocated quantity ({n}) must not exceed available quantity ({q})" msgstr "" -#: build/models.py:1244 order/models.py:926 +#: build/models.py:1244 order/models.py:938 msgid "StockItem is over-allocated" msgstr "" -#: build/models.py:1248 order/models.py:929 +#: build/models.py:1248 order/models.py:941 msgid "Allocation quantity must be greater than zero" -msgstr "" +msgstr "分配数量必须大于0" #: build/models.py:1252 msgid "Quantity must be 1 for serialized stock" @@ -899,10 +928,10 @@ msgid "Selected stock item not found in BOM for part '{p}'" msgstr "" #: build/models.py:1372 stock/templates/stock/item_base.html:331 -#: templates/InvenTree/search.html:183 templates/js/translated/build.js:846 -#: templates/navbar.html:29 +#: templates/InvenTree/search.html:183 templates/js/translated/build.js:869 +#: templates/navbar.html:35 msgid "Build" -msgstr "" +msgstr "生产" #: build/models.py:1373 msgid "Build to allocate parts" @@ -912,15 +941,15 @@ msgstr "" #: stock/templates/stock/item_base.html:31 #: stock/templates/stock/item_base.html:353 #: stock/templates/stock/stock_adjust.html:16 -#: templates/js/translated/build.js:244 templates/js/translated/build.js:249 -#: templates/js/translated/build.js:993 templates/js/translated/order.js:455 -#: templates/js/translated/order.js:460 templates/js/translated/stock.js:1485 +#: templates/js/translated/build.js:271 templates/js/translated/build.js:276 +#: templates/js/translated/build.js:1012 templates/js/translated/order.js:797 +#: templates/js/translated/order.js:802 templates/js/translated/stock.js:1626 msgid "Stock Item" -msgstr "" +msgstr "库存项" #: build/models.py:1390 msgid "Source stock item" -msgstr "" +msgstr "源库存项" #: build/models.py:1403 msgid "Stock quantity to allocate to build" @@ -936,14 +965,14 @@ msgstr "" #: build/templates/build/allocation_card.html:21 #: build/templates/build/complete_output.html:46 -#: order/templates/order/sales_order_detail.html:205 -#: order/templates/order/sales_order_detail.html:290 +#: order/templates/order/sales_order_detail.html:206 +#: order/templates/order/sales_order_detail.html:291 #: report/templates/report/inventree_test_report_base.html:75 -#: stock/models.py:495 stock/templates/stock/item_base.html:251 -#: templates/js/translated/build.js:604 -#: templates/js/translated/model_renderers.js:54 +#: stock/models.py:501 stock/templates/stock/item_base.html:251 +#: templates/js/translated/build.js:627 +#: templates/js/translated/model_renderers.js:57 msgid "Serial Number" -msgstr "" +msgstr "序列号" #: build/templates/build/auto_allocate.html:9 msgid "Automatically Allocate Stock" @@ -993,11 +1022,11 @@ msgstr "" #: company/templates/company/supplier_part.html:30 #: order/templates/order/order_base.html:26 #: order/templates/order/sales_order_base.html:37 -#: part/templates/part/category.html:27 part/templates/part/part_base.html:25 +#: part/templates/part/category.html:27 part/templates/part/part_base.html:30 #: stock/templates/stock/item_base.html:62 #: stock/templates/stock/location.html:31 msgid "Admin view" -msgstr "" +msgstr "管理界面" #: build/templates/build/build_base.html:81 #: build/templates/build/build_base.html:150 @@ -1005,78 +1034,78 @@ msgstr "" #: order/templates/order/order_base.html:86 #: order/templates/order/sales_order_base.html:43 #: order/templates/order/sales_order_base.html:88 -#: templates/js/translated/table_filters.js:259 -#: templates/js/translated/table_filters.js:278 -#: templates/js/translated/table_filters.js:295 +#: templates/js/translated/table_filters.js:272 +#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:308 msgid "Overdue" -msgstr "" +msgstr "逾期" #: build/templates/build/build_base.html:90 msgid "Print actions" -msgstr "" +msgstr "打印操作" #: build/templates/build/build_base.html:94 msgid "Print Build Order" -msgstr "" +msgstr "打印生产订单" #: build/templates/build/build_base.html:100 #: build/templates/build/build_base.html:222 msgid "Complete Build" -msgstr "" +msgstr "生产完成" #: build/templates/build/build_base.html:105 msgid "Build actions" -msgstr "" +msgstr "生产操作" #: build/templates/build/build_base.html:109 msgid "Edit Build" -msgstr "" +msgstr "编辑生产" #: build/templates/build/build_base.html:111 #: build/templates/build/build_base.html:206 build/views.py:56 msgid "Cancel Build" -msgstr "" +msgstr "取消生产" #: build/templates/build/build_base.html:114 msgid "Delete Build" -msgstr "" +msgstr "删除生产" #: build/templates/build/build_base.html:124 #: build/templates/build/detail.html:15 msgid "Build Details" -msgstr "" +msgstr "生产详情" #: build/templates/build/build_base.html:150 #, python-format msgid "This build was due on %(target)s" -msgstr "" +msgstr "此次生产的截止日期为 %(target)s" #: build/templates/build/build_base.html:157 #: build/templates/build/detail.html:67 msgid "Progress" -msgstr "" +msgstr "生产进度" #: build/templates/build/build_base.html:170 -#: build/templates/build/detail.html:87 order/models.py:823 +#: build/templates/build/detail.html:87 order/models.py:835 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:35 #: order/templates/order/sales_order_ship.html:25 #: report/templates/report/inventree_build_order_base.html:136 #: report/templates/report/inventree_so_report.html:77 #: stock/templates/stock/item_base.html:293 -#: templates/js/translated/order.js:329 +#: templates/js/translated/order.js:670 msgid "Sales Order" -msgstr "" +msgstr "销售订单" #: build/templates/build/build_base.html:177 #: build/templates/build/detail.html:101 #: report/templates/report/inventree_build_order_base.html:153 msgid "Issued By" -msgstr "" +msgstr "发布者" #: build/templates/build/build_base.html:214 msgid "Incomplete Outputs" -msgstr "" +msgstr "未完成输出" #: build/templates/build/build_base.html:215 msgid "Build Order cannot be completed as incomplete build outputs remain" @@ -1108,11 +1137,11 @@ msgstr "" #: build/templates/build/complete.html:8 msgid "Build Order is complete" -msgstr "" +msgstr "生产订单已完成" #: build/templates/build/complete.html:12 msgid "Build Order is incomplete" -msgstr "" +msgstr "生产订单未完成" #: build/templates/build/complete.html:15 msgid "Incompleted build outputs remain" @@ -1120,7 +1149,7 @@ msgstr "" #: build/templates/build/complete.html:18 msgid "Required build quantity has not been completed" -msgstr "" +msgstr "所需生产数量尚未完成" #: build/templates/build/complete.html:21 msgid "Required stock has not been fully allocated" @@ -1132,7 +1161,7 @@ msgstr "" #: build/templates/build/complete_output.html:14 msgid "Stock allocation is incomplete" -msgstr "" +msgstr "库存分配尚未完成" #: build/templates/build/complete_output.html:20 msgid "tracked parts have not been fully allocated" @@ -1148,7 +1177,7 @@ msgstr "" #: build/templates/build/create_build_item.html:11 #, python-format -msgid "The allocated stock will be installed into the following build output:
%(output)s" +msgid "The allocated stock will be installed into the following build output:
%(output)s" msgstr "" #: build/templates/build/create_build_item.html:17 @@ -1172,9 +1201,9 @@ msgstr "" msgid "Stock can be taken from any available location." msgstr "" -#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:782 -#: order/templates/order/purchase_order_detail.html:408 +#: build/templates/build/detail.html:49 order/forms.py:88 order/models.py:794 #: order/templates/order/receive_parts.html:25 stock/forms.py:134 +#: templates/js/translated/order.js:593 msgid "Destination" msgstr "" @@ -1184,24 +1213,24 @@ msgstr "" #: build/templates/build/detail.html:73 #: stock/templates/stock/item_base.html:317 -#: templates/js/translated/stock.js:1007 templates/js/translated/stock.js:1755 -#: templates/js/translated/table_filters.js:116 -#: templates/js/translated/table_filters.js:198 +#: templates/js/translated/stock.js:931 templates/js/translated/stock.js:1873 +#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:211 msgid "Batch" msgstr "" #: build/templates/build/detail.html:119 #: order/templates/order/order_base.html:111 #: order/templates/order/sales_order_base.html:113 -#: templates/js/translated/build.js:910 +#: templates/js/translated/build.js:933 msgid "Created" -msgstr "" +msgstr "已创建" #: build/templates/build/detail.html:130 msgid "No target date set" -msgstr "" +msgstr "无预计日期" -#: build/templates/build/detail.html:135 templates/js/translated/build.js:888 +#: build/templates/build/detail.html:135 templates/js/translated/build.js:911 msgid "Completed" msgstr "" @@ -1225,32 +1254,32 @@ msgstr "" msgid "Auto Allocate" msgstr "" -#: build/templates/build/detail.html:175 templates/js/translated/build.js:778 +#: build/templates/build/detail.html:175 templates/js/translated/build.js:801 msgid "Unallocate stock" msgstr "" #: build/templates/build/detail.html:176 build/views.py:318 build/views.py:638 msgid "Unallocate Stock" -msgstr "" +msgstr "未分配库存" #: build/templates/build/detail.html:179 msgid "Order required parts" -msgstr "" +msgstr "订单所需部件" #: build/templates/build/detail.html:180 -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 order/views.py:679 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 order/views.py:679 #: part/templates/part/category.html:140 msgid "Order Parts" -msgstr "" +msgstr "订单部件" #: build/templates/build/detail.html:186 msgid "Untracked stock has been fully allocated for this Build Order" -msgstr "" +msgstr "未跟踪的库存已完全分配给此生产订单" #: build/templates/build/detail.html:190 msgid "Untracked stock has not been fully allocated for this Build Order" -msgstr "" +msgstr "未跟踪的库存尚未完全分配给此生产订单" #: build/templates/build/detail.html:197 msgid "This Build Order does not have any associated untracked BOM items" @@ -1258,7 +1287,7 @@ msgstr "" #: build/templates/build/detail.html:206 msgid "Incomplete Build Outputs" -msgstr "" +msgstr "未完成的生产产出" #: build/templates/build/detail.html:211 msgid "Create new build output" @@ -1288,8 +1317,8 @@ msgstr "" #: build/templates/build/navbar.html:45 order/templates/order/po_navbar.html:35 #: order/templates/order/sales_order_detail.html:43 #: order/templates/order/so_navbar.html:29 part/templates/part/detail.html:173 -#: part/templates/part/navbar.html:102 part/templates/part/navbar.html:105 -#: stock/templates/stock/item.html:87 stock/templates/stock/navbar.html:47 +#: part/templates/part/navbar.html:114 part/templates/part/navbar.html:117 +#: stock/templates/stock/item.html:88 stock/templates/stock/navbar.html:47 #: stock/templates/stock/navbar.html:50 msgid "Attachments" msgstr "" @@ -1298,48 +1327,48 @@ msgstr "" msgid "Build Notes" msgstr "" -#: build/templates/build/detail.html:261 build/templates/build/detail.html:397 -#: company/templates/company/detail.html:173 -#: company/templates/company/detail.html:200 +#: build/templates/build/detail.html:261 build/templates/build/detail.html:398 +#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:196 #: order/templates/order/purchase_order_detail.html:62 #: order/templates/order/purchase_order_detail.html:95 #: order/templates/order/sales_order_detail.html:58 #: order/templates/order/sales_order_detail.html:85 -#: part/templates/part/detail.html:109 stock/templates/stock/item.html:102 -#: stock/templates/stock/item.html:187 +#: part/templates/part/detail.html:109 stock/templates/stock/item.html:103 +#: stock/templates/stock/item.html:188 msgid "Edit Notes" msgstr "" #: build/templates/build/detail.html:357 #: order/templates/order/po_attachments.html:79 -#: order/templates/order/purchase_order_detail.html:156 -#: order/templates/order/sales_order_detail.html:145 -#: part/templates/part/detail.html:802 stock/templates/stock/item.html:251 +#: order/templates/order/purchase_order_detail.html:157 +#: order/templates/order/sales_order_detail.html:146 +#: part/templates/part/detail.html:920 stock/templates/stock/item.html:253 #: templates/attachment_table.html:6 msgid "Add Attachment" msgstr "" -#: build/templates/build/detail.html:375 +#: build/templates/build/detail.html:376 #: order/templates/order/po_attachments.html:51 -#: order/templates/order/purchase_order_detail.html:128 -#: order/templates/order/sales_order_detail.html:118 -#: part/templates/part/detail.html:756 stock/templates/stock/item.html:219 +#: order/templates/order/purchase_order_detail.html:129 +#: order/templates/order/sales_order_detail.html:119 +#: part/templates/part/detail.html:874 stock/templates/stock/item.html:221 msgid "Edit Attachment" msgstr "" -#: build/templates/build/detail.html:382 +#: build/templates/build/detail.html:383 #: order/templates/order/po_attachments.html:58 -#: order/templates/order/purchase_order_detail.html:135 -#: order/templates/order/sales_order_detail.html:124 -#: part/templates/part/detail.html:765 stock/templates/stock/item.html:228 +#: order/templates/order/purchase_order_detail.html:136 +#: order/templates/order/sales_order_detail.html:125 +#: part/templates/part/detail.html:883 stock/templates/stock/item.html:230 msgid "Confirm Delete Operation" msgstr "" -#: build/templates/build/detail.html:383 +#: build/templates/build/detail.html:384 #: order/templates/order/po_attachments.html:59 -#: order/templates/order/purchase_order_detail.html:136 -#: order/templates/order/sales_order_detail.html:125 -#: part/templates/part/detail.html:766 stock/templates/stock/item.html:229 +#: order/templates/order/purchase_order_detail.html:137 +#: order/templates/order/sales_order_detail.html:126 +#: part/templates/part/detail.html:884 stock/templates/stock/item.html:231 msgid "Delete Attachment" msgstr "" @@ -1372,7 +1401,7 @@ msgid "Build Order Details" msgstr "" #: build/templates/build/navbar.html:15 order/templates/order/po_navbar.html:15 -#: templates/js/translated/stock.js:1414 +#: templates/js/translated/stock.js:1555 msgid "Details" msgstr "" @@ -1501,9 +1530,9 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/views.py:705 templates/js/translated/bom.js:250 -#: templates/js/translated/build.js:705 templates/js/translated/build.js:1000 -#: templates/js/translated/build.js:1179 +#: build/views.py:705 templates/js/translated/bom.js:269 +#: templates/js/translated/build.js:728 templates/js/translated/build.js:1019 +#: templates/js/translated/build.js:1196 msgid "Available" msgstr "" @@ -1539,7 +1568,7 @@ msgstr "" msgid "Error reading file (data could be corrupted)" msgstr "" -#: common/forms.py:34 templates/js/translated/attachment.js:42 +#: common/forms.py:34 templates/js/translated/attachment.js:54 msgid "File" msgstr "" @@ -1556,546 +1585,594 @@ msgstr "" msgid "Select {name} file to upload" msgstr "" -#: common/models.py:322 common/models.py:815 common/models.py:962 +#: common/models.py:308 common/models.py:839 common/models.py:986 msgid "Settings key (must be unique - case insensitive" msgstr "" -#: common/models.py:324 +#: common/models.py:310 msgid "Settings value" msgstr "" -#: common/models.py:359 +#: common/models.py:345 msgid "Must be an integer value" msgstr "" -#: common/models.py:382 +#: common/models.py:368 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:393 +#: common/models.py:379 msgid "Value must be an integer value" msgstr "" -#: common/models.py:416 +#: common/models.py:402 msgid "Key string must be unique" msgstr "" -#: common/models.py:523 +#: common/models.py:509 msgid "InvenTree Instance Name" msgstr "" -#: common/models.py:525 +#: common/models.py:511 msgid "String descriptor for the server instance" msgstr "" -#: common/models.py:529 +#: common/models.py:515 msgid "Use instance name" msgstr "" -#: common/models.py:530 +#: common/models.py:516 msgid "Use the instance name in the title-bar" msgstr "" -#: common/models.py:536 company/models.py:97 company/models.py:98 +#: common/models.py:522 company/models.py:99 company/models.py:100 msgid "Company name" msgstr "" -#: common/models.py:537 +#: common/models.py:523 msgid "Internal company name" msgstr "" -#: common/models.py:542 +#: common/models.py:528 msgid "Base URL" msgstr "" -#: common/models.py:543 +#: common/models.py:529 msgid "Base URL for server instance" msgstr "" -#: common/models.py:549 +#: common/models.py:535 msgid "Default Currency" msgstr "" -#: common/models.py:550 +#: common/models.py:536 msgid "Default currency" msgstr "" -#: common/models.py:556 +#: common/models.py:542 msgid "Download from URL" msgstr "" -#: common/models.py:557 +#: common/models.py:543 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/models.py:563 +#: common/models.py:549 msgid "Barcode Support" msgstr "" -#: common/models.py:564 +#: common/models.py:550 msgid "Enable barcode scanner support" msgstr "" -#: common/models.py:570 +#: common/models.py:556 msgid "IPN Regex" msgstr "" -#: common/models.py:571 +#: common/models.py:557 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/models.py:575 +#: common/models.py:561 msgid "Allow Duplicate IPN" msgstr "" -#: common/models.py:576 +#: common/models.py:562 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/models.py:582 +#: common/models.py:568 msgid "Allow Editing IPN" msgstr "" -#: common/models.py:583 +#: common/models.py:569 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/models.py:589 +#: common/models.py:575 msgid "Copy Part BOM Data" msgstr "" -#: common/models.py:590 +#: common/models.py:576 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/models.py:596 +#: common/models.py:582 msgid "Copy Part Parameter Data" msgstr "" -#: common/models.py:597 +#: common/models.py:583 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/models.py:603 +#: common/models.py:589 msgid "Copy Part Test Data" msgstr "" -#: common/models.py:604 +#: common/models.py:590 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/models.py:610 +#: common/models.py:596 msgid "Copy Category Parameter Templates" msgstr "" -#: common/models.py:611 +#: common/models.py:597 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/models.py:617 part/models.py:2236 report/models.py:187 -#: stock/forms.py:224 templates/js/translated/table_filters.js:25 -#: templates/js/translated/table_filters.js:329 +#: common/models.py:603 part/models.py:2252 report/models.py:187 +#: stock/forms.py:224 templates/js/translated/table_filters.js:38 +#: templates/js/translated/table_filters.js:342 msgid "Template" msgstr "" -#: common/models.py:618 +#: common/models.py:604 msgid "Parts are templates by default" msgstr "" -#: common/models.py:624 part/models.py:803 -#: templates/js/translated/table_filters.js:133 -#: templates/js/translated/table_filters.js:341 +#: common/models.py:610 part/models.py:805 +#: templates/js/translated/table_filters.js:146 +#: templates/js/translated/table_filters.js:354 msgid "Assembly" msgstr "" -#: common/models.py:625 +#: common/models.py:611 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/models.py:631 part/models.py:809 -#: templates/js/translated/table_filters.js:345 +#: common/models.py:617 part/models.py:811 +#: templates/js/translated/table_filters.js:358 msgid "Component" msgstr "" -#: common/models.py:632 +#: common/models.py:618 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/models.py:638 part/models.py:820 +#: common/models.py:624 part/models.py:822 msgid "Purchaseable" msgstr "" -#: common/models.py:639 +#: common/models.py:625 msgid "Parts are purchaseable by default" msgstr "" -#: common/models.py:645 part/models.py:825 -#: templates/js/translated/table_filters.js:353 +#: common/models.py:631 part/models.py:827 +#: templates/js/translated/table_filters.js:366 msgid "Salable" msgstr "" -#: common/models.py:646 +#: common/models.py:632 msgid "Parts are salable by default" msgstr "" -#: common/models.py:652 part/models.py:815 -#: templates/js/translated/table_filters.js:33 -#: templates/js/translated/table_filters.js:357 +#: common/models.py:638 part/models.py:817 +#: templates/js/translated/table_filters.js:46 +#: templates/js/translated/table_filters.js:370 msgid "Trackable" msgstr "" -#: common/models.py:653 +#: common/models.py:639 msgid "Parts are trackable by default" msgstr "" -#: common/models.py:659 part/models.py:835 -#: part/templates/part/part_base.html:61 -#: templates/js/translated/table_filters.js:29 +#: common/models.py:645 part/models.py:837 +#: part/templates/part/part_base.html:66 +#: templates/js/translated/table_filters.js:42 msgid "Virtual" msgstr "" -#: common/models.py:660 +#: common/models.py:646 msgid "Parts are virtual by default" msgstr "" -#: common/models.py:667 +#: common/models.py:653 msgid "Show Quantity in Forms" msgstr "" -#: common/models.py:668 +#: common/models.py:654 msgid "Display available part quantity in some forms" msgstr "" -#: common/models.py:674 +#: common/models.py:660 msgid "Show Import in Views" msgstr "" -#: common/models.py:675 +#: common/models.py:661 msgid "Display the import wizard in some part views" msgstr "" -#: common/models.py:681 +#: common/models.py:667 msgid "Show Price in Forms" msgstr "" -#: common/models.py:682 +#: common/models.py:668 msgid "Display part price in some forms" msgstr "" -#: common/models.py:688 +#: common/models.py:674 msgid "Show related parts" msgstr "" -#: common/models.py:689 +#: common/models.py:675 msgid "Display related parts for a part" msgstr "" -#: common/models.py:695 +#: common/models.py:681 msgid "Create initial stock" msgstr "" -#: common/models.py:696 +#: common/models.py:682 msgid "Create initial stock on part creation" msgstr "" -#: common/models.py:702 +#: common/models.py:688 msgid "Internal Prices" msgstr "" -#: common/models.py:703 +#: common/models.py:689 msgid "Enable internal prices for parts" msgstr "" -#: common/models.py:709 +#: common/models.py:695 msgid "Internal Price as BOM-Price" msgstr "" -#: common/models.py:710 +#: common/models.py:696 msgid "Use the internal price (if set) in BOM-price calculations" msgstr "" -#: common/models.py:716 templates/stats.html:25 +#: common/models.py:702 templates/stats.html:25 msgid "Debug Mode" msgstr "" -#: common/models.py:717 +#: common/models.py:703 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/models.py:723 +#: common/models.py:709 msgid "Page Size" msgstr "" -#: common/models.py:724 +#: common/models.py:710 msgid "Default page size for PDF reports" msgstr "" -#: common/models.py:734 +#: common/models.py:720 msgid "Test Reports" msgstr "" -#: common/models.py:735 +#: common/models.py:721 msgid "Enable generation of test reports" msgstr "" -#: common/models.py:741 +#: common/models.py:727 msgid "Stock Expiry" msgstr "" -#: common/models.py:742 +#: common/models.py:728 msgid "Enable stock expiry functionality" msgstr "" -#: common/models.py:748 +#: common/models.py:734 msgid "Sell Expired Stock" msgstr "" -#: common/models.py:749 +#: common/models.py:735 msgid "Allow sale of expired stock" msgstr "" -#: common/models.py:755 +#: common/models.py:741 msgid "Stock Stale Time" msgstr "" -#: common/models.py:756 +#: common/models.py:742 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/models.py:758 +#: common/models.py:744 msgid "days" msgstr "" -#: common/models.py:763 +#: common/models.py:749 msgid "Build Expired Stock" msgstr "" -#: common/models.py:764 +#: common/models.py:750 msgid "Allow building with expired stock" msgstr "" -#: common/models.py:770 +#: common/models.py:756 msgid "Stock Ownership Control" msgstr "" -#: common/models.py:771 +#: common/models.py:757 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/models.py:777 +#: common/models.py:763 msgid "Group by Part" msgstr "" -#: common/models.py:778 +#: common/models.py:764 msgid "Group stock items by part reference in table views" msgstr "" -#: common/models.py:784 +#: common/models.py:770 msgid "Build Order Reference Prefix" msgstr "" -#: common/models.py:785 +#: common/models.py:771 msgid "Prefix value for build order reference" msgstr "" -#: common/models.py:790 +#: common/models.py:776 msgid "Build Order Reference Regex" msgstr "" -#: common/models.py:791 +#: common/models.py:777 msgid "Regular expression pattern for matching build order reference" msgstr "" -#: common/models.py:795 +#: common/models.py:781 msgid "Sales Order Reference Prefix" msgstr "" -#: common/models.py:796 +#: common/models.py:782 msgid "Prefix value for sales order reference" msgstr "" -#: common/models.py:801 +#: common/models.py:787 msgid "Purchase Order Reference Prefix" msgstr "" -#: common/models.py:802 +#: common/models.py:788 msgid "Prefix value for purchase order reference" msgstr "" -#: common/models.py:826 +#: common/models.py:794 +msgid "Enable build" +msgstr "" + +#: common/models.py:795 +msgid "Enable build functionality in InvenTree interface" +msgstr "" + +#: common/models.py:800 +msgid "Enable buy" +msgstr "" + +#: common/models.py:801 +msgid "Enable buy functionality in InvenTree interface" +msgstr "" + +#: common/models.py:806 +msgid "Enable sell" +msgstr "" + +#: common/models.py:807 +msgid "Enable sell functionality in InvenTree interface" +msgstr "" + +#: common/models.py:812 +msgid "Enable stock" +msgstr "" + +#: common/models.py:813 +msgid "Enable stock functionality in InvenTree interface" +msgstr "" + +#: common/models.py:818 +msgid "Enable SO" +msgstr "" + +#: common/models.py:819 +msgid "Enable SO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:824 +msgid "Enable PO" +msgstr "" + +#: common/models.py:825 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: common/models.py:850 msgid "Show starred parts" msgstr "" -#: common/models.py:827 +#: common/models.py:851 msgid "Show starred parts on the homepage" msgstr "" -#: common/models.py:832 +#: common/models.py:856 msgid "Show latest parts" msgstr "" -#: common/models.py:833 +#: common/models.py:857 msgid "Show latest parts on the homepage" msgstr "" -#: common/models.py:838 +#: common/models.py:862 msgid "Recent Part Count" msgstr "" -#: common/models.py:839 +#: common/models.py:863 msgid "Number of recent parts to display on index page" msgstr "" -#: common/models.py:845 +#: common/models.py:869 msgid "Show unvalidated BOMs" msgstr "" -#: common/models.py:846 +#: common/models.py:870 msgid "Show BOMs that await validation on the homepage" msgstr "" -#: common/models.py:851 +#: common/models.py:875 msgid "Show recent stock changes" msgstr "" -#: common/models.py:852 +#: common/models.py:876 msgid "Show recently changed stock items on the homepage" msgstr "" -#: common/models.py:857 +#: common/models.py:881 msgid "Recent Stock Count" msgstr "" -#: common/models.py:858 +#: common/models.py:882 msgid "Number of recent stock items to display on index page" msgstr "" -#: common/models.py:863 +#: common/models.py:887 msgid "Show low stock" msgstr "" -#: common/models.py:864 +#: common/models.py:888 msgid "Show low stock items on the homepage" msgstr "" -#: common/models.py:869 +#: common/models.py:893 msgid "Show depleted stock" msgstr "" -#: common/models.py:870 +#: common/models.py:894 msgid "Show depleted stock items on the homepage" msgstr "" -#: common/models.py:875 +#: common/models.py:899 msgid "Show needed stock" msgstr "" -#: common/models.py:876 +#: common/models.py:900 msgid "Show stock items needed for builds on the homepage" msgstr "" -#: common/models.py:881 +#: common/models.py:905 msgid "Show expired stock" msgstr "" -#: common/models.py:882 +#: common/models.py:906 msgid "Show expired stock items on the homepage" msgstr "" -#: common/models.py:887 +#: common/models.py:911 msgid "Show stale stock" msgstr "" -#: common/models.py:888 +#: common/models.py:912 msgid "Show stale stock items on the homepage" msgstr "" -#: common/models.py:893 +#: common/models.py:917 msgid "Show pending builds" msgstr "" -#: common/models.py:894 +#: common/models.py:918 msgid "Show pending builds on the homepage" msgstr "" -#: common/models.py:899 +#: common/models.py:923 msgid "Show overdue builds" msgstr "" -#: common/models.py:900 +#: common/models.py:924 msgid "Show overdue builds on the homepage" msgstr "" -#: common/models.py:905 +#: common/models.py:929 msgid "Show outstanding POs" msgstr "" -#: common/models.py:906 +#: common/models.py:930 msgid "Show outstanding POs on the homepage" msgstr "" -#: common/models.py:911 +#: common/models.py:935 msgid "Show overdue POs" msgstr "" -#: common/models.py:912 +#: common/models.py:936 msgid "Show overdue POs on the homepage" msgstr "" -#: common/models.py:917 +#: common/models.py:941 msgid "Show outstanding SOs" msgstr "" -#: common/models.py:918 +#: common/models.py:942 msgid "Show outstanding SOs on the homepage" msgstr "" -#: common/models.py:923 +#: common/models.py:947 msgid "Show overdue SOs" msgstr "" -#: common/models.py:924 +#: common/models.py:948 msgid "Show overdue SOs on the homepage" msgstr "" -#: common/models.py:930 +#: common/models.py:954 msgid "Inline label display" msgstr "" -#: common/models.py:931 +#: common/models.py:955 msgid "Display PDF labels in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:937 +#: common/models.py:961 msgid "Inline report display" msgstr "" -#: common/models.py:938 +#: common/models.py:962 msgid "Display PDF reports in the browser, instead of downloading as a file" msgstr "" -#: common/models.py:944 +#: common/models.py:968 msgid "Search Preview Results" msgstr "" -#: common/models.py:945 +#: common/models.py:969 msgid "Number of results to show in search preview window" msgstr "" -#: common/models.py:1002 company/forms.py:43 +#: common/models.py:1026 company/forms.py:43 msgid "Price break quantity" msgstr "" -#: common/models.py:1009 company/templates/company/supplier_part.html:231 -#: templates/js/translated/part.js:1153 +#: common/models.py:1033 company/templates/company/supplier_part.html:231 +#: templates/js/translated/part.js:1322 msgid "Price" msgstr "" -#: common/models.py:1010 +#: common/models.py:1034 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1103 +#: common/models.py:1127 msgid "Default" msgstr "" @@ -2123,7 +2200,7 @@ msgstr "" #: order/templates/order/po_navbar.html:19 #: order/templates/order/po_navbar.html:22 #: order/templates/order/purchase_order_detail.html:26 order/views.py:290 -#: part/templates/part/bom_upload/upload_file.html:45 +#: part/templates/part/bom_upload/upload_file.html:65 #: part/templates/part/import_wizard/part_upload.html:45 part/views.py:268 #: part/views.py:882 msgid "Upload File" @@ -2154,7 +2231,7 @@ msgstr "" #: order/templates/order/order_wizard/po_upload.html:40 #: part/templates/part/bom_upload/match_fields.html:27 #: part/templates/part/bom_upload/match_parts.html:19 -#: part/templates/part/bom_upload/upload_file.html:43 +#: part/templates/part/bom_upload/upload_file.html:63 #: 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:43 @@ -2169,244 +2246,249 @@ msgstr "" msgid "Image URL" msgstr "" -#: company/models.py:102 +#: company/models.py:104 msgid "Company description" msgstr "" -#: company/models.py:103 +#: company/models.py:105 msgid "Description of the company" msgstr "" -#: company/models.py:109 company/templates/company/company_base.html:70 -#: templates/js/translated/company.js:303 +#: company/models.py:111 company/templates/company/company_base.html:70 +#: templates/js/translated/company.js:348 msgid "Website" msgstr "" -#: company/models.py:110 +#: company/models.py:112 msgid "Company website URL" msgstr "" -#: company/models.py:114 company/templates/company/company_base.html:88 +#: company/models.py:116 company/templates/company/company_base.html:88 msgid "Address" msgstr "" -#: company/models.py:115 +#: company/models.py:117 msgid "Company address" msgstr "" -#: company/models.py:118 +#: company/models.py:120 msgid "Phone number" msgstr "" -#: company/models.py:119 +#: company/models.py:121 msgid "Contact phone number" msgstr "" -#: company/models.py:122 company/templates/company/company_base.html:102 +#: company/models.py:124 company/templates/company/company_base.html:102 msgid "Email" msgstr "" -#: company/models.py:122 +#: company/models.py:124 msgid "Contact email address" msgstr "" -#: company/models.py:125 company/templates/company/company_base.html:109 +#: company/models.py:127 company/templates/company/company_base.html:109 msgid "Contact" msgstr "" -#: company/models.py:126 +#: company/models.py:128 msgid "Point of contact" msgstr "" -#: company/models.py:128 company/models.py:345 company/models.py:513 -#: order/models.py:160 part/models.py:712 +#: company/models.py:130 company/models.py:347 company/models.py:563 +#: order/models.py:160 part/models.py:714 #: report/templates/report/inventree_build_order_base.html:165 -#: templates/js/translated/company.js:486 -#: templates/js/translated/company.js:768 templates/js/translated/part.js:819 +#: templates/js/translated/company.js:535 +#: templates/js/translated/company.js:823 templates/js/translated/part.js:972 msgid "Link" msgstr "" -#: company/models.py:128 +#: company/models.py:130 msgid "Link to external company information" msgstr "" -#: company/models.py:136 part/models.py:722 +#: company/models.py:138 part/models.py:724 msgid "Image" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "is customer" msgstr "" -#: company/models.py:141 +#: company/models.py:143 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "is supplier" msgstr "" -#: company/models.py:143 +#: company/models.py:145 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "is manufacturer" msgstr "" -#: company/models.py:145 +#: company/models.py:147 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:149 company/serializers.py:245 -#: company/templates/company/company_base.html:76 +#: company/models.py:151 company/serializers.py:264 +#: company/templates/company/company_base.html:76 stock/serializers.py:155 msgid "Currency" msgstr "" -#: company/models.py:152 +#: company/models.py:154 msgid "Default currency used for this company" msgstr "" -#: company/models.py:317 company/models.py:484 stock/models.py:448 +#: company/models.py:319 company/models.py:534 stock/models.py:454 #: stock/templates/stock/item_base.html:237 msgid "Base Part" msgstr "" -#: company/models.py:321 company/models.py:488 order/views.py:1082 +#: company/models.py:323 company/models.py:538 order/views.py:1082 msgid "Select part" msgstr "" -#: company/models.py:332 company/templates/company/company_base.html:116 +#: company/models.py:334 company/templates/company/company_base.html:116 #: company/templates/company/manufacturer_part.html:89 #: company/templates/company/supplier_part.html:98 part/bom.py:170 #: part/bom.py:241 stock/templates/stock/item_base.html:366 -#: templates/js/translated/company.js:287 -#: templates/js/translated/company.js:463 -#: templates/js/translated/company.js:739 +#: templates/js/translated/company.js:332 +#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:794 templates/js/translated/part.js:222 msgid "Manufacturer" msgstr "" -#: company/models.py:333 +#: company/models.py:335 templates/js/translated/part.js:223 msgid "Select manufacturer" msgstr "" -#: company/models.py:339 company/templates/company/manufacturer_part.html:93 -#: company/templates/company/supplier_part.html:106 -#: order/templates/order/purchase_order_detail.html:331 part/bom.py:171 -#: part/bom.py:242 templates/js/translated/company.js:479 -#: templates/js/translated/company.js:757 +#: company/models.py:341 company/templates/company/manufacturer_part.html:93 +#: company/templates/company/supplier_part.html:106 part/bom.py:171 +#: part/bom.py:242 templates/js/translated/company.js:528 +#: templates/js/translated/company.js:812 templates/js/translated/order.js:505 +#: templates/js/translated/part.js:233 msgid "MPN" msgstr "" -#: company/models.py:340 +#: company/models.py:342 templates/js/translated/part.js:234 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:346 +#: company/models.py:348 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:352 +#: company/models.py:354 msgid "Manufacturer part description" msgstr "" -#: company/models.py:406 company/models.py:507 +#: company/models.py:408 company/models.py:557 #: company/templates/company/manufacturer_part.html:6 #: company/templates/company/manufacturer_part.html:23 #: stock/templates/stock/item_base.html:376 msgid "Manufacturer Part" msgstr "" -#: company/models.py:413 +#: company/models.py:415 msgid "Parameter name" msgstr "" -#: company/models.py:419 +#: company/models.py:421 #: report/templates/report/inventree_test_report_base.html:90 -#: stock/models.py:1808 templates/InvenTree/settings/header.html:8 -#: templates/js/translated/company.js:589 templates/js/translated/part.js:480 -#: templates/js/translated/stock.js:505 +#: stock/models.py:1819 templates/InvenTree/settings/header.html:8 +#: templates/js/translated/company.js:642 templates/js/translated/part.js:612 +#: templates/js/translated/stock.js:576 msgid "Value" msgstr "" -#: company/models.py:420 +#: company/models.py:422 msgid "Parameter value" msgstr "" -#: company/models.py:426 part/models.py:797 part/models.py:2204 -#: templates/js/translated/company.js:595 templates/js/translated/part.js:486 +#: company/models.py:428 part/models.py:799 part/models.py:2220 +#: templates/js/translated/company.js:648 templates/js/translated/part.js:618 msgid "Units" msgstr "" -#: company/models.py:427 +#: company/models.py:429 msgid "Parameter units" msgstr "" -#: company/models.py:494 company/templates/company/company_base.html:121 +#: company/models.py:501 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:544 company/templates/company/company_base.html:121 #: company/templates/company/supplier_part.html:88 order/models.py:260 #: order/templates/order/order_base.html:92 #: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:175 #: part/bom.py:286 stock/templates/stock/item_base.html:383 -#: templates/js/translated/company.js:291 -#: templates/js/translated/company.js:713 templates/js/translated/order.js:254 +#: templates/js/translated/company.js:336 +#: templates/js/translated/company.js:768 templates/js/translated/order.js:328 +#: templates/js/translated/part.js:203 msgid "Supplier" msgstr "" -#: company/models.py:495 +#: company/models.py:545 templates/js/translated/part.js:204 msgid "Select supplier" msgstr "" -#: company/models.py:500 company/templates/company/supplier_part.html:92 -#: order/templates/order/purchase_order_detail.html:318 part/bom.py:176 -#: part/bom.py:287 +#: company/models.py:550 company/templates/company/supplier_part.html:92 +#: part/bom.py:176 part/bom.py:287 templates/js/translated/order.js:492 +#: templates/js/translated/part.js:214 msgid "SKU" msgstr "" -#: company/models.py:501 +#: company/models.py:551 templates/js/translated/part.js:215 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:508 +#: company/models.py:558 msgid "Select manufacturer part" msgstr "" -#: company/models.py:514 +#: company/models.py:564 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:520 +#: company/models.py:570 msgid "Supplier part description" msgstr "" -#: company/models.py:525 company/templates/company/supplier_part.html:120 -#: part/models.py:2352 report/templates/report/inventree_po_report.html:93 +#: company/models.py:575 company/templates/company/supplier_part.html:120 +#: part/models.py:2368 report/templates/report/inventree_po_report.html:93 #: report/templates/report/inventree_so_report.html:93 msgid "Note" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "base cost" msgstr "" -#: company/models.py:529 part/models.py:1590 +#: company/models.py:579 part/models.py:1599 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:531 company/templates/company/supplier_part.html:113 -#: stock/models.py:472 stock/templates/stock/item_base.html:324 -#: templates/js/translated/company.js:789 templates/js/translated/stock.js:1086 +#: company/models.py:581 company/templates/company/supplier_part.html:113 +#: stock/models.py:478 stock/templates/stock/item_base.html:324 +#: templates/js/translated/company.js:844 templates/js/translated/stock.js:1057 msgid "Packaging" msgstr "" -#: company/models.py:531 +#: company/models.py:581 msgid "Part packaging" msgstr "" -#: company/models.py:533 part/models.py:1592 +#: company/models.py:583 part/models.py:1601 msgid "multiple" msgstr "" -#: company/models.py:533 +#: company/models.py:583 msgid "Order multiple" msgstr "" @@ -2420,7 +2502,7 @@ msgstr "" #: company/templates/company/company_base.html:9 #: company/templates/company/company_base.html:35 -#: templates/InvenTree/search.html:304 templates/js/translated/company.js:276 +#: templates/InvenTree/search.html:304 templates/js/translated/company.js:321 msgid "Company" msgstr "" @@ -2435,7 +2517,7 @@ msgid "Download image from URL" msgstr "" #: company/templates/company/company_base.html:46 -#: templates/js/translated/order.js:83 +#: templates/js/translated/order.js:117 msgid "Create Purchase Order" msgstr "" @@ -2460,16 +2542,16 @@ msgstr "" msgid "Phone" msgstr "" -#: company/templates/company/company_base.html:126 order/models.py:544 -#: order/templates/order/sales_order_base.html:94 stock/models.py:490 -#: stock/models.py:491 stock/templates/stock/item_base.html:276 -#: templates/js/translated/company.js:283 templates/js/translated/order.js:351 -#: templates/js/translated/stock.js:1467 +#: company/templates/company/company_base.html:126 order/models.py:550 +#: order/templates/order/sales_order_base.html:94 stock/models.py:496 +#: stock/models.py:497 stock/templates/stock/item_base.html:276 +#: templates/js/translated/company.js:328 templates/js/translated/order.js:692 +#: templates/js/translated/stock.js:1608 msgid "Customer" msgstr "" #: company/templates/company/company_base.html:193 -#: part/templates/part/part_base.html:405 +#: part/templates/part/part_base.html:418 msgid "Upload Image" msgstr "" @@ -2490,8 +2572,8 @@ msgstr "" msgid "New Supplier Part" msgstr "" -#: company/templates/company/detail.html:28 -#: company/templates/company/detail.html:70 +#: company/templates/company/detail.html:27 +#: company/templates/company/detail.html:67 #: company/templates/company/manufacturer_part.html:112 #: company/templates/company/manufacturer_part.html:136 #: part/templates/part/category.html:135 part/templates/part/detail.html:292 @@ -2499,106 +2581,106 @@ msgstr "" msgid "Options" msgstr "" -#: company/templates/company/detail.html:33 -#: company/templates/company/detail.html:75 +#: company/templates/company/detail.html:32 +#: company/templates/company/detail.html:72 #: part/templates/part/category.html:140 msgid "Order parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete parts" msgstr "" -#: company/templates/company/detail.html:36 -#: company/templates/company/detail.html:78 +#: company/templates/company/detail.html:35 +#: company/templates/company/detail.html:75 msgid "Delete Parts" msgstr "" -#: company/templates/company/detail.html:56 templates/InvenTree/search.html:149 +#: company/templates/company/detail.html:54 templates/InvenTree/search.html:149 msgid "Manufacturer Parts" msgstr "" -#: company/templates/company/detail.html:64 +#: company/templates/company/detail.html:62 msgid "Create new manufacturer part" msgstr "" -#: company/templates/company/detail.html:65 part/templates/part/detail.html:312 +#: company/templates/company/detail.html:63 part/templates/part/detail.html:312 msgid "New Manufacturer Part" msgstr "" -#: company/templates/company/detail.html:97 +#: company/templates/company/detail.html:93 msgid "Supplier Stock" msgstr "" -#: company/templates/company/detail.html:106 -#: company/templates/company/navbar.html:40 -#: company/templates/company/navbar.html:43 +#: company/templates/company/detail.html:102 +#: company/templates/company/navbar.html:46 +#: company/templates/company/navbar.html:49 #: order/templates/order/purchase_orders.html:8 #: order/templates/order/purchase_orders.html:13 -#: part/templates/part/detail.html:50 part/templates/part/navbar.html:71 -#: part/templates/part/navbar.html:74 templates/InvenTree/index.html:260 +#: part/templates/part/detail.html:50 part/templates/part/navbar.html:82 +#: part/templates/part/navbar.html:85 templates/InvenTree/index.html:260 #: templates/InvenTree/search.html:325 #: templates/InvenTree/settings/navbar.html:107 -#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:37 +#: templates/InvenTree/settings/navbar.html:109 templates/navbar.html:44 #: users/models.py:45 msgid "Purchase Orders" msgstr "" -#: company/templates/company/detail.html:112 +#: company/templates/company/detail.html:108 #: order/templates/order/purchase_orders.html:20 msgid "Create new purchase order" msgstr "" -#: company/templates/company/detail.html:113 +#: company/templates/company/detail.html:109 #: order/templates/order/purchase_orders.html:21 msgid "New Purchase Order" msgstr "" -#: company/templates/company/detail.html:128 -#: company/templates/company/navbar.html:49 -#: company/templates/company/navbar.html:52 +#: company/templates/company/detail.html:124 +#: company/templates/company/navbar.html:55 +#: company/templates/company/navbar.html:58 #: order/templates/order/sales_orders.html:8 #: order/templates/order/sales_orders.html:13 -#: part/templates/part/detail.html:71 part/templates/part/navbar.html:79 -#: part/templates/part/navbar.html:82 templates/InvenTree/index.html:291 +#: part/templates/part/detail.html:71 part/templates/part/navbar.html:91 +#: part/templates/part/navbar.html:94 templates/InvenTree/index.html:291 #: templates/InvenTree/search.html:345 #: templates/InvenTree/settings/navbar.html:113 -#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:46 +#: templates/InvenTree/settings/navbar.html:115 templates/navbar.html:55 #: users/models.py:46 msgid "Sales Orders" msgstr "" -#: company/templates/company/detail.html:134 +#: company/templates/company/detail.html:130 #: order/templates/order/sales_orders.html:20 msgid "Create new sales order" msgstr "" -#: company/templates/company/detail.html:135 +#: company/templates/company/detail.html:131 #: order/templates/order/sales_orders.html:21 msgid "New Sales Order" msgstr "" -#: company/templates/company/detail.html:151 -#: company/templates/company/navbar.html:55 -#: company/templates/company/navbar.html:58 -#: templates/js/translated/build.js:597 +#: company/templates/company/detail.html:147 +#: company/templates/company/navbar.html:61 +#: company/templates/company/navbar.html:64 +#: templates/js/translated/build.js:620 msgid "Assigned Stock" msgstr "" -#: company/templates/company/detail.html:169 +#: company/templates/company/detail.html:165 msgid "Company Notes" msgstr "" #: company/templates/company/detail.html:364 #: company/templates/company/manufacturer_part.html:200 -#: part/templates/part/detail.html:826 +#: part/templates/part/detail.html:357 msgid "Delete Supplier Parts?" msgstr "" #: company/templates/company/detail.html:365 #: company/templates/company/manufacturer_part.html:201 -#: part/templates/part/detail.html:827 +#: part/templates/part/detail.html:358 msgid "All selected supplier parts will be deleted" msgstr "" @@ -2609,17 +2691,17 @@ msgstr "" #: company/templates/company/manufacturer_part.html:40 #: company/templates/company/supplier_part.html:40 #: company/templates/company/supplier_part.html:146 -#: part/templates/part/detail.html:55 part/templates/part/part_base.html:109 +#: part/templates/part/detail.html:55 part/templates/part/part_base.html:116 msgid "Order part" msgstr "" #: company/templates/company/manufacturer_part.html:45 -#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:560 msgid "Edit manufacturer part" msgstr "" #: company/templates/company/manufacturer_part.html:49 -#: templates/js/translated/company.js:512 +#: templates/js/translated/company.js:561 msgid "Delete manufacturer part" msgstr "" @@ -2634,9 +2716,9 @@ msgstr "" #: company/templates/company/manufacturer_part.html:103 #: company/templates/company/manufacturer_part_navbar.html:21 -#: company/views.py:49 part/templates/part/navbar.html:65 -#: part/templates/part/navbar.html:68 part/templates/part/prices.html:144 -#: templates/InvenTree/search.html:316 templates/navbar.html:35 +#: company/views.py:49 part/templates/part/navbar.html:75 +#: part/templates/part/navbar.html:78 part/templates/part/prices.html:163 +#: templates/InvenTree/search.html:316 templates/navbar.html:41 msgid "Suppliers" msgstr "" @@ -2649,8 +2731,8 @@ msgstr "" #: company/templates/company/manufacturer_part.html:138 #: company/templates/company/manufacturer_part.html:239 #: part/templates/part/detail.html:214 part/templates/part/detail.html:294 -#: part/templates/part/detail.html:317 templates/js/translated/company.js:377 -#: users/models.py:194 +#: part/templates/part/detail.html:317 templates/js/translated/company.js:424 +#: templates/js/translated/helpers.js:31 users/models.py:194 msgid "Delete" msgstr "" @@ -2659,8 +2741,8 @@ msgstr "" #: company/templates/company/manufacturer_part_navbar.html:14 #: part/templates/part/category_navbar.html:38 #: part/templates/part/category_navbar.html:41 -#: part/templates/part/detail.html:155 part/templates/part/navbar.html:14 -#: part/templates/part/navbar.html:17 +#: part/templates/part/detail.html:155 part/templates/part/navbar.html:20 +#: part/templates/part/navbar.html:23 msgid "Parameters" msgstr "" @@ -2676,7 +2758,7 @@ msgid "Delete parameters" msgstr "" #: company/templates/company/manufacturer_part.html:176 -#: part/templates/part/detail.html:719 +#: part/templates/part/detail.html:834 msgid "Add Parameter" msgstr "" @@ -2693,18 +2775,18 @@ msgid "Manufacturer Part Stock" msgstr "" #: company/templates/company/manufacturer_part_navbar.html:29 -#: company/templates/company/navbar.html:34 +#: company/templates/company/navbar.html:39 #: company/templates/company/supplier_part_navbar.html:15 -#: part/templates/part/navbar.html:31 stock/api.py:53 +#: part/templates/part/navbar.html:38 stock/api.py:54 #: stock/templates/stock/loc_link.html:7 stock/templates/stock/location.html:36 #: stock/templates/stock/stock_app_base.html:10 #: templates/InvenTree/index.html:150 templates/InvenTree/search.html:196 #: templates/InvenTree/search.html:232 #: templates/InvenTree/settings/navbar.html:95 #: templates/InvenTree/settings/navbar.html:97 -#: templates/js/translated/part.js:401 templates/js/translated/part.js:626 -#: templates/js/translated/part.js:786 templates/js/translated/stock.js:133 -#: templates/js/translated/stock.js:935 templates/navbar.html:26 +#: templates/js/translated/part.js:529 templates/js/translated/part.js:758 +#: templates/js/translated/part.js:934 templates/js/translated/stock.js:202 +#: templates/js/translated/stock.js:850 templates/navbar.html:32 msgid "Stock" msgstr "" @@ -2717,41 +2799,41 @@ msgstr "" msgid "Orders" msgstr "" -#: company/templates/company/navbar.html:13 -#: company/templates/company/navbar.html:16 +#: company/templates/company/navbar.html:17 +#: company/templates/company/navbar.html:20 msgid "Manufactured Parts" msgstr "" -#: company/templates/company/navbar.html:22 -#: company/templates/company/navbar.html:25 +#: company/templates/company/navbar.html:26 +#: company/templates/company/navbar.html:29 msgid "Supplied Parts" msgstr "" -#: company/templates/company/navbar.html:31 part/templates/part/navbar.html:28 +#: company/templates/company/navbar.html:36 part/templates/part/navbar.html:35 #: stock/templates/stock/location.html:119 #: stock/templates/stock/location.html:134 #: stock/templates/stock/location.html:148 #: stock/templates/stock/location_navbar.html:18 #: stock/templates/stock/location_navbar.html:21 -#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1366 +#: templates/InvenTree/search.html:198 templates/js/translated/stock.js:1507 #: templates/stats.html:93 templates/stats.html:102 users/models.py:43 msgid "Stock Items" msgstr "" #: company/templates/company/supplier_part.html:7 -#: company/templates/company/supplier_part.html:24 stock/models.py:457 +#: company/templates/company/supplier_part.html:24 stock/models.py:463 #: stock/templates/stock/item_base.html:388 -#: templates/js/translated/company.js:729 templates/js/translated/stock.js:1058 +#: templates/js/translated/company.js:784 templates/js/translated/stock.js:1014 msgid "Supplier Part" msgstr "" #: company/templates/company/supplier_part.html:44 -#: templates/js/translated/company.js:802 +#: templates/js/translated/company.js:857 msgid "Edit supplier part" msgstr "" #: company/templates/company/supplier_part.html:48 -#: templates/js/translated/company.js:803 +#: templates/js/translated/company.js:858 msgid "Delete supplier part" msgstr "" @@ -2775,13 +2857,13 @@ msgid "Order Part" msgstr "" #: company/templates/company/supplier_part.html:158 -#: part/templates/part/navbar.html:58 part/templates/part/prices.html:7 +#: part/templates/part/navbar.html:67 part/templates/part/prices.html:7 msgid "Pricing Information" msgstr "" #: company/templates/company/supplier_part.html:164 #: company/templates/company/supplier_part.html:265 -#: part/templates/part/prices.html:253 part/views.py:1722 +#: part/templates/part/prices.html:271 part/views.py:1730 msgid "Add Price Break" msgstr "" @@ -2789,11 +2871,11 @@ msgstr "" msgid "No price break information found" msgstr "" -#: company/templates/company/supplier_part.html:199 part/views.py:1784 +#: company/templates/company/supplier_part.html:199 part/views.py:1792 msgid "Delete Price Break" msgstr "" -#: company/templates/company/supplier_part.html:213 part/views.py:1770 +#: company/templates/company/supplier_part.html:213 part/views.py:1778 msgid "Edit Price Break" msgstr "" @@ -2817,8 +2899,8 @@ msgstr "" msgid "New Supplier" msgstr "" -#: company/views.py:55 part/templates/part/prices.html:148 -#: templates/InvenTree/search.html:306 templates/navbar.html:36 +#: company/views.py:55 part/templates/part/prices.html:167 +#: templates/InvenTree/search.html:306 templates/navbar.html:42 msgid "Manufacturers" msgstr "" @@ -2827,7 +2909,7 @@ msgid "New Manufacturer" msgstr "" #: company/views.py:61 templates/InvenTree/search.html:336 -#: templates/navbar.html:45 +#: templates/navbar.html:53 msgid "Customers" msgstr "" @@ -2929,6 +3011,10 @@ msgstr "" msgid "Part query filters (comma-separated value of key=value pairs)" msgstr "" +#: order/api.py:302 +msgid "Destination location must be specified" +msgstr "" + #: order/forms.py:30 order/templates/order/order_base.html:47 msgid "Place order" msgstr "" @@ -2978,11 +3064,11 @@ msgstr "" msgid "Order notes" msgstr "" -#: order/models.py:247 order/models.py:534 +#: order/models.py:247 order/models.py:540 msgid "Order reference" msgstr "" -#: order/models.py:252 order/models.py:549 +#: order/models.py:252 order/models.py:555 msgid "Purchase order status" msgstr "" @@ -2991,7 +3077,7 @@ msgid "Company from which the items are being ordered" msgstr "" #: order/models.py:264 order/templates/order/order_base.html:98 -#: templates/js/translated/order.js:263 +#: templates/js/translated/order.js:337 msgid "Supplier Reference" msgstr "" @@ -3023,7 +3109,7 @@ msgstr "" msgid "Date order was completed" msgstr "" -#: order/models.py:313 stock/models.py:345 stock/models.py:1060 +#: order/models.py:313 stock/models.py:351 stock/models.py:1072 msgid "Quantity must be greater than zero" msgstr "" @@ -3031,150 +3117,182 @@ msgstr "" msgid "Part supplier must match PO supplier" msgstr "" -#: order/models.py:416 +#: order/models.py:421 msgid "Lines can only be received against an order marked as 'Placed'" msgstr "" -#: order/models.py:420 +#: order/models.py:425 msgid "Quantity must be an integer" msgstr "" -#: order/models.py:422 +#: order/models.py:427 msgid "Quantity must be a positive number" msgstr "" -#: order/models.py:545 +#: order/models.py:551 msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer Reference " msgstr "" -#: order/models.py:551 +#: order/models.py:557 msgid "Customer order reference code" msgstr "" -#: order/models.py:556 +#: order/models.py:562 msgid "Target date for order completion. Order will be overdue after this date." msgstr "" -#: order/models.py:559 templates/js/translated/order.js:392 +#: order/models.py:565 templates/js/translated/order.js:733 msgid "Shipment Date" msgstr "" -#: order/models.py:566 +#: order/models.py:572 msgid "shipped by" msgstr "" -#: order/models.py:610 +#: order/models.py:616 msgid "SalesOrder cannot be shipped as it is not currently pending" msgstr "" -#: order/models.py:707 +#: order/models.py:713 msgid "Item quantity" msgstr "" -#: order/models.py:713 +#: order/models.py:719 msgid "Line item reference" msgstr "" -#: order/models.py:715 +#: order/models.py:721 msgid "Line item notes" msgstr "" -#: order/models.py:745 order/models.py:823 templates/js/translated/order.js:442 +#: order/models.py:751 order/models.py:835 templates/js/translated/order.js:785 msgid "Order" msgstr "" -#: order/models.py:746 order/templates/order/order_base.html:9 +#: order/models.py:752 order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:24 #: report/templates/report/inventree_po_report.html:77 #: stock/templates/stock/item_base.html:338 -#: templates/js/translated/order.js:232 templates/js/translated/stock.js:1037 -#: templates/js/translated/stock.js:1448 +#: templates/js/translated/order.js:306 templates/js/translated/stock.js:991 +#: templates/js/translated/stock.js:1589 msgid "Purchase Order" msgstr "" -#: order/models.py:767 +#: order/models.py:773 msgid "Supplier part" msgstr "" -#: order/models.py:770 order/templates/order/order_base.html:131 -#: order/templates/order/purchase_order_detail.html:388 +#: order/models.py:780 order/templates/order/order_base.html:131 #: order/templates/order/receive_parts.html:22 #: order/templates/order/sales_order_base.html:133 +#: templates/js/translated/order.js:573 msgid "Received" msgstr "" -#: order/models.py:770 +#: order/models.py:781 msgid "Number of items received" msgstr "" -#: order/models.py:776 part/templates/part/prices.html:157 stock/models.py:582 -#: stock/templates/stock/item_base.html:345 -#: templates/js/translated/stock.js:1081 +#: order/models.py:788 part/templates/part/prices.html:176 stock/models.py:588 +#: stock/serializers.py:147 stock/templates/stock/item_base.html:345 +#: templates/js/translated/stock.js:1045 msgid "Purchase Price" msgstr "" -#: order/models.py:777 +#: order/models.py:789 msgid "Unit purchase price" msgstr "" -#: order/models.py:785 +#: order/models.py:797 msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:831 part/templates/part/part_pricing.html:97 -#: part/templates/part/prices.html:97 part/templates/part/prices.html:266 +#: order/models.py:843 part/templates/part/part_pricing.html:112 +#: part/templates/part/prices.html:116 part/templates/part/prices.html:284 msgid "Sale Price" msgstr "" -#: order/models.py:832 +#: order/models.py:844 msgid "Unit sale price" msgstr "" -#: order/models.py:911 order/models.py:913 +#: order/models.py:923 order/models.py:925 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:917 +#: order/models.py:929 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:919 +#: order/models.py:931 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:922 +#: order/models.py:934 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:932 +#: order/models.py:944 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:937 +#: order/models.py:949 msgid "Line" msgstr "" -#: order/models.py:948 +#: order/models.py:960 msgid "Item" msgstr "" -#: order/models.py:949 +#: order/models.py:961 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:952 +#: order/models.py:964 msgid "Enter stock allocation quantity" msgstr "" -#: order/serializers.py:139 +#: order/serializers.py:166 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:360 +#: order/serializers.py:201 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:207 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:217 order/serializers.py:276 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:234 +msgid "Barcode Hash" +msgstr "" + +#: order/serializers.py:235 +msgid "Unique identifier field" +msgstr "" + +#: order/serializers.py:250 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:289 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:299 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:514 msgid "Sale price currency" msgstr "" @@ -3227,14 +3345,12 @@ msgid "Edit Purchase Order" msgstr "" #: order/templates/order/order_base.html:196 -#: order/templates/order/purchase_order_detail.html:265 -#: stock/templates/stock/location.html:250 +#: stock/templates/stock/location.html:250 templates/js/translated/order.js:437 msgid "New Location" msgstr "" #: order/templates/order/order_base.html:197 -#: order/templates/order/purchase_order_detail.html:266 -#: stock/templates/stock/location.html:42 +#: stock/templates/stock/location.html:42 templates/js/translated/order.js:438 msgid "Create new stock location" msgstr "" @@ -3336,7 +3452,7 @@ msgid "Upload File for Purchase Order" msgstr "" #: order/templates/order/order_wizard/po_upload.html:18 -#: part/templates/part/bom_upload/upload_file.html:24 +#: part/templates/part/bom_upload/upload_file.html:34 #: part/templates/part/import_wizard/ajax_part_upload.html:10 #: part/templates/part/import_wizard/part_upload.html:21 #, python-format @@ -3369,7 +3485,7 @@ msgstr "" #: order/templates/order/order_wizard/select_parts.html:65 #, python-format -msgid "Select a supplier for %(name)s" +msgid "Select a supplier for %(name)s" msgstr "" #: order/templates/order/order_wizard/select_parts.html:77 @@ -3386,7 +3502,7 @@ msgid "Select existing purchase orders, or create new orders." msgstr "" #: order/templates/order/order_wizard/select_pos.html:31 -#: templates/js/translated/order.js:289 templates/js/translated/order.js:397 +#: templates/js/translated/order.js:363 templates/js/translated/order.js:738 msgid "Items" msgstr "" @@ -3425,9 +3541,9 @@ msgid "Purchase Order Items" msgstr "" #: order/templates/order/purchase_order_detail.html:23 -#: order/templates/order/purchase_order_detail.html:202 +#: order/templates/order/purchase_order_detail.html:203 #: order/templates/order/sales_order_detail.html:23 -#: order/templates/order/sales_order_detail.html:176 +#: order/templates/order/sales_order_detail.html:177 msgid "Add Line Item" msgstr "" @@ -3436,49 +3552,6 @@ msgstr "" msgid "Order Notes" msgstr "" -#: order/templates/order/purchase_order_detail.html:238 -#: order/templates/order/sales_order_detail.html:518 -msgid "Edit Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:248 -#: order/templates/order/sales_order_detail.html:528 -msgid "Delete Line Item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:279 -msgid "No line items found" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:307 -#: order/templates/order/sales_order_detail.html:353 -msgid "Total" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:360 -#: order/templates/order/sales_order_detail.html:376 -#: templates/js/translated/part.js:1128 templates/js/translated/part.js:1317 -msgid "Unit Price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:367 -#: order/templates/order/sales_order_detail.html:383 -msgid "Total price" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:431 -#: order/templates/order/sales_order_detail.html:489 -msgid "Edit line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:432 -msgid "Delete line item" -msgstr "" - -#: order/templates/order/purchase_order_detail.html:437 -msgid "Receive line item" -msgstr "" - #: order/templates/order/purchase_orders.html:24 #: order/templates/order/sales_orders.html:24 msgid "Print Order Reports" @@ -3486,18 +3559,18 @@ msgstr "" #: order/templates/order/receive_parts.html:8 #, python-format -msgid "Receive outstanding parts for %(order)s - %(desc)s" +msgid "Receive outstanding parts for %(order)s - %(desc)s" msgstr "" -#: order/templates/order/receive_parts.html:14 part/api.py:49 -#: part/models.py:296 part/templates/part/cat_link.html:7 +#: order/templates/order/receive_parts.html:14 part/api.py:54 +#: part/models.py:298 part/templates/part/cat_link.html:7 #: part/templates/part/category.html:108 part/templates/part/category.html:122 #: part/templates/part/category_navbar.html:21 #: part/templates/part/category_navbar.html:24 #: templates/InvenTree/index.html:102 templates/InvenTree/search.html:114 #: templates/InvenTree/settings/navbar.html:83 #: templates/InvenTree/settings/navbar.html:85 -#: templates/js/translated/part.js:987 templates/navbar.html:23 +#: templates/js/translated/part.js:1154 templates/navbar.html:29 #: templates/stats.html:80 templates/stats.html:89 users/models.py:41 msgid "Parts" msgstr "" @@ -3511,7 +3584,7 @@ msgid "Order Code" msgstr "" #: order/templates/order/receive_parts.html:21 -#: part/templates/part/part_base.html:160 templates/js/translated/part.js:802 +#: part/templates/part/part_base.html:167 templates/js/translated/part.js:949 msgid "On Order" msgstr "" @@ -3540,7 +3613,7 @@ msgid "Sales Order Details" msgstr "" #: order/templates/order/sales_order_base.html:100 -#: templates/js/translated/order.js:364 +#: templates/js/translated/order.js:705 msgid "Customer Reference" msgstr "" @@ -3563,71 +3636,102 @@ msgstr "" msgid "Sales Order Items" msgstr "" -#: order/templates/order/sales_order_detail.html:225 -#: templates/js/translated/bom.js:378 templates/js/translated/build.js:759 -#: templates/js/translated/build.js:1202 +#: order/templates/order/sales_order_detail.html:226 +#: templates/js/translated/bom.js:394 templates/js/translated/build.js:782 +#: templates/js/translated/build.js:1219 msgid "Actions" msgstr "" -#: order/templates/order/sales_order_detail.html:232 -#: templates/js/translated/build.js:645 templates/js/translated/build.js:1011 +#: order/templates/order/sales_order_detail.html:233 +#: templates/js/translated/build.js:668 templates/js/translated/build.js:1030 msgid "Edit stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:233 -#: templates/js/translated/build.js:647 templates/js/translated/build.js:1012 +#: order/templates/order/sales_order_detail.html:234 +#: templates/js/translated/build.js:670 templates/js/translated/build.js:1031 msgid "Delete stock allocation" msgstr "" -#: order/templates/order/sales_order_detail.html:306 +#: order/templates/order/sales_order_detail.html:307 msgid "No matching line items" msgstr "" -#: order/templates/order/sales_order_detail.html:336 +#: order/templates/order/sales_order_detail.html:337 msgid "ID" msgstr "" -#: order/templates/order/sales_order_detail.html:404 -#: templates/js/translated/build.js:710 templates/js/translated/build.js:1007 +#: order/templates/order/sales_order_detail.html:354 +#: templates/js/translated/order.js:481 +msgid "Total" +msgstr "" + +#: order/templates/order/sales_order_detail.html:377 +#: templates/js/translated/order.js:534 templates/js/translated/part.js:1296 +#: templates/js/translated/part.js:1507 +msgid "Unit Price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:384 +#: templates/js/translated/order.js:543 +msgid "Total price" +msgstr "" + +#: order/templates/order/sales_order_detail.html:405 +#: templates/js/translated/build.js:733 templates/js/translated/build.js:1026 msgid "Allocated" msgstr "" -#: order/templates/order/sales_order_detail.html:406 +#: order/templates/order/sales_order_detail.html:407 msgid "Fulfilled" msgstr "" -#: order/templates/order/sales_order_detail.html:443 +#: order/templates/order/sales_order_detail.html:444 msgid "PO" msgstr "" -#: order/templates/order/sales_order_detail.html:473 +#: order/templates/order/sales_order_detail.html:474 msgid "Allocate serial numbers" msgstr "" -#: order/templates/order/sales_order_detail.html:476 -#: templates/js/translated/build.js:773 +#: order/templates/order/sales_order_detail.html:477 +#: templates/js/translated/build.js:796 msgid "Allocate stock" msgstr "" -#: order/templates/order/sales_order_detail.html:479 +#: order/templates/order/sales_order_detail.html:480 msgid "Purchase stock" msgstr "" -#: order/templates/order/sales_order_detail.html:483 -#: templates/js/translated/build.js:766 templates/js/translated/build.js:1210 +#: order/templates/order/sales_order_detail.html:484 +#: templates/js/translated/build.js:789 templates/js/translated/build.js:1227 msgid "Build stock" msgstr "" -#: order/templates/order/sales_order_detail.html:486 -#: order/templates/order/sales_order_detail.html:605 +#: order/templates/order/sales_order_detail.html:487 +#: order/templates/order/sales_order_detail.html:606 msgid "Calculate price" msgstr "" #: order/templates/order/sales_order_detail.html:490 +#: templates/js/translated/order.js:616 +msgid "Edit line item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:491 msgid "Delete line item " msgstr "" -#: order/templates/order/sales_order_detail.html:611 +#: order/templates/order/sales_order_detail.html:519 +#: templates/js/translated/order.js:403 +msgid "Edit Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:529 +#: templates/js/translated/order.js:415 +msgid "Delete Line Item" +msgstr "" + +#: order/templates/order/sales_order_detail.html:612 msgid "Update Unit Price" msgstr "" @@ -3814,12 +3918,28 @@ msgstr "" msgid "Updated {part} unit-price to {price} and quantity to {qty}" msgstr "" -#: part/bom.py:133 part/models.py:73 part/models.py:731 -#: part/templates/part/category.html:75 part/templates/part/part_base.html:282 +#: part/api.py:700 +msgid "Must be greater than zero" +msgstr "" + +#: part/api.py:704 +msgid "Must be a valid quantity" +msgstr "" + +#: part/api.py:719 +msgid "Specify location for initial part stock" +msgstr "" + +#: part/api.py:750 part/api.py:754 part/api.py:769 part/api.py:773 +msgid "This field is required" +msgstr "" + +#: part/bom.py:133 part/models.py:75 part/models.py:733 +#: part/templates/part/category.html:75 part/templates/part/part_base.html:290 msgid "Default Location" msgstr "" -#: part/bom.py:134 part/templates/part/part_base.html:149 +#: part/bom.py:134 part/templates/part/part_base.html:156 msgid "Available Stock" msgstr "" @@ -3879,7 +3999,7 @@ msgstr "" msgid "Include part supplier data in exported BOM" msgstr "" -#: part/forms.py:96 part/models.py:2234 +#: part/forms.py:96 part/models.py:2250 msgid "Parent Part" msgstr "" @@ -3923,391 +4043,391 @@ msgstr "" msgid "Input quantity for price calculation" msgstr "" -#: part/models.py:74 +#: part/models.py:76 msgid "Default location for parts in this category" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords" msgstr "" -#: part/models.py:77 +#: part/models.py:79 msgid "Default keywords for parts in this category" msgstr "" -#: part/models.py:87 part/models.py:2280 +#: part/models.py:89 part/models.py:2296 #: part/templates/part/part_app_base.html:10 msgid "Part Category" msgstr "" -#: part/models.py:88 part/templates/part/category.html:32 +#: part/models.py:90 part/templates/part/category.html:32 #: part/templates/part/category.html:103 templates/InvenTree/search.html:127 #: templates/stats.html:84 users/models.py:40 msgid "Part Categories" msgstr "" -#: part/models.py:381 +#: part/models.py:383 msgid "Invalid choice for parent part" msgstr "" -#: part/models.py:433 part/models.py:445 +#: part/models.py:435 part/models.py:447 #, python-brace-format msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)" msgstr "" -#: part/models.py:542 +#: part/models.py:544 msgid "Next available serial numbers are" msgstr "" -#: part/models.py:546 +#: part/models.py:548 msgid "Next available serial number is" msgstr "" -#: part/models.py:551 +#: part/models.py:553 msgid "Most recent serial number is" msgstr "" -#: part/models.py:630 +#: part/models.py:632 msgid "Duplicate IPN not allowed in part settings" msgstr "" -#: part/models.py:655 +#: part/models.py:657 msgid "Part name" msgstr "" -#: part/models.py:662 +#: part/models.py:664 msgid "Is Template" msgstr "" -#: part/models.py:663 +#: part/models.py:665 msgid "Is this part a template part?" msgstr "" -#: part/models.py:673 +#: part/models.py:675 msgid "Is this part a variant of another part?" msgstr "" -#: part/models.py:674 +#: part/models.py:676 msgid "Variant Of" msgstr "" -#: part/models.py:680 +#: part/models.py:682 msgid "Part description" msgstr "" -#: part/models.py:685 part/templates/part/category.html:82 -#: part/templates/part/part_base.html:251 +#: part/models.py:687 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:259 msgid "Keywords" msgstr "" -#: part/models.py:686 +#: part/models.py:688 msgid "Part keywords to improve visibility in search results" msgstr "" -#: part/models.py:693 part/models.py:2279 +#: part/models.py:695 part/models.py:2295 #: part/templates/part/set_category.html:15 #: templates/InvenTree/settings/settings.html:167 -#: templates/js/translated/part.js:773 +#: templates/js/translated/part.js:916 msgid "Category" msgstr "" -#: part/models.py:694 +#: part/models.py:696 msgid "Part category" msgstr "" -#: part/models.py:699 part/templates/part/part_base.html:227 -#: templates/js/translated/part.js:389 templates/js/translated/part.js:617 +#: part/models.py:701 part/templates/part/part_base.html:235 +#: templates/js/translated/part.js:517 templates/js/translated/part.js:749 msgid "IPN" msgstr "" -#: part/models.py:700 +#: part/models.py:702 msgid "Internal Part Number" msgstr "" -#: part/models.py:706 +#: part/models.py:708 msgid "Part revision or version number" msgstr "" -#: part/models.py:707 part/templates/part/part_base.html:244 -#: report/models.py:200 templates/js/translated/part.js:393 +#: part/models.py:709 part/templates/part/part_base.html:252 +#: report/models.py:200 templates/js/translated/part.js:521 msgid "Revision" msgstr "" -#: part/models.py:729 +#: part/models.py:731 msgid "Where is this item normally stored?" msgstr "" -#: part/models.py:776 part/templates/part/part_base.html:289 +#: part/models.py:778 part/templates/part/part_base.html:297 msgid "Default Supplier" msgstr "" -#: part/models.py:777 +#: part/models.py:779 msgid "Default supplier part" msgstr "" -#: part/models.py:784 +#: part/models.py:786 msgid "Default Expiry" msgstr "" -#: part/models.py:785 +#: part/models.py:787 msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:790 +#: part/models.py:792 msgid "Minimum Stock" msgstr "" -#: part/models.py:791 +#: part/models.py:793 msgid "Minimum allowed stock level" msgstr "" -#: part/models.py:798 +#: part/models.py:800 msgid "Stock keeping units for this part" msgstr "" -#: part/models.py:804 +#: part/models.py:806 msgid "Can this part be built from other parts?" msgstr "" -#: part/models.py:810 +#: part/models.py:812 msgid "Can this part be used to build other parts?" msgstr "" -#: part/models.py:816 +#: part/models.py:818 msgid "Does this part have tracking for unique items?" msgstr "" -#: part/models.py:821 +#: part/models.py:823 msgid "Can this part be purchased from external suppliers?" msgstr "" -#: part/models.py:826 +#: part/models.py:828 msgid "Can this part be sold to customers?" msgstr "" -#: part/models.py:830 templates/js/translated/table_filters.js:21 -#: templates/js/translated/table_filters.js:69 -#: templates/js/translated/table_filters.js:255 -#: templates/js/translated/table_filters.js:324 +#: part/models.py:832 templates/js/translated/table_filters.js:34 +#: templates/js/translated/table_filters.js:82 +#: templates/js/translated/table_filters.js:268 +#: templates/js/translated/table_filters.js:337 msgid "Active" msgstr "" -#: part/models.py:831 +#: part/models.py:833 msgid "Is this part active?" msgstr "" -#: part/models.py:836 +#: part/models.py:838 msgid "Is this a virtual part, such as a software product or license?" msgstr "" -#: part/models.py:841 +#: part/models.py:843 msgid "Part notes - supports Markdown formatting" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "BOM checksum" msgstr "" -#: part/models.py:844 +#: part/models.py:846 msgid "Stored BOM checksum" msgstr "" -#: part/models.py:847 +#: part/models.py:849 msgid "BOM checked by" msgstr "" -#: part/models.py:849 +#: part/models.py:851 msgid "BOM checked date" msgstr "" -#: part/models.py:853 +#: part/models.py:855 msgid "Creation User" msgstr "" -#: part/models.py:1592 +#: part/models.py:1601 msgid "Sell multiple" msgstr "" -#: part/models.py:2080 +#: part/models.py:2096 msgid "Test templates can only be created for trackable parts" msgstr "" -#: part/models.py:2097 +#: part/models.py:2113 msgid "Test with this name already exists for this part" msgstr "" -#: part/models.py:2117 templates/js/translated/part.js:1038 -#: templates/js/translated/stock.js:485 +#: part/models.py:2133 templates/js/translated/part.js:1205 +#: templates/js/translated/stock.js:556 msgid "Test Name" msgstr "" -#: part/models.py:2118 +#: part/models.py:2134 msgid "Enter a name for the test" msgstr "" -#: part/models.py:2123 +#: part/models.py:2139 msgid "Test Description" msgstr "" -#: part/models.py:2124 +#: part/models.py:2140 msgid "Enter description for this test" msgstr "" -#: part/models.py:2129 templates/js/translated/part.js:1047 -#: templates/js/translated/table_filters.js:241 +#: part/models.py:2145 templates/js/translated/part.js:1214 +#: templates/js/translated/table_filters.js:254 msgid "Required" msgstr "" -#: part/models.py:2130 +#: part/models.py:2146 msgid "Is this test required to pass?" msgstr "" -#: part/models.py:2135 templates/js/translated/part.js:1055 +#: part/models.py:2151 templates/js/translated/part.js:1222 msgid "Requires Value" msgstr "" -#: part/models.py:2136 +#: part/models.py:2152 msgid "Does this test require a value when adding a test result?" msgstr "" -#: part/models.py:2141 templates/js/translated/part.js:1062 +#: part/models.py:2157 templates/js/translated/part.js:1229 msgid "Requires Attachment" msgstr "" -#: part/models.py:2142 +#: part/models.py:2158 msgid "Does this test require a file attachment when adding a test result?" msgstr "" -#: part/models.py:2153 +#: part/models.py:2169 #, python-brace-format msgid "Illegal character in template name ({c})" msgstr "" -#: part/models.py:2189 +#: part/models.py:2205 msgid "Parameter template name must be unique" msgstr "" -#: part/models.py:2197 +#: part/models.py:2213 msgid "Parameter Name" msgstr "" -#: part/models.py:2204 +#: part/models.py:2220 msgid "Parameter Units" msgstr "" -#: part/models.py:2236 part/models.py:2285 part/models.py:2286 +#: part/models.py:2252 part/models.py:2301 part/models.py:2302 #: templates/InvenTree/settings/settings.html:162 msgid "Parameter Template" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Data" msgstr "" -#: part/models.py:2238 +#: part/models.py:2254 msgid "Parameter Value" msgstr "" -#: part/models.py:2290 templates/InvenTree/settings/settings.html:171 +#: part/models.py:2306 templates/InvenTree/settings/settings.html:171 msgid "Default Value" msgstr "" -#: part/models.py:2291 +#: part/models.py:2307 msgid "Default Parameter Value" msgstr "" -#: part/models.py:2325 +#: part/models.py:2341 msgid "Select parent part" msgstr "" -#: part/models.py:2333 +#: part/models.py:2349 msgid "Sub part" msgstr "" -#: part/models.py:2334 +#: part/models.py:2350 msgid "Select part to be used in BOM" msgstr "" -#: part/models.py:2340 +#: part/models.py:2356 msgid "BOM quantity for this BOM item" msgstr "" -#: part/models.py:2342 templates/js/translated/bom.js:236 -#: templates/js/translated/bom.js:298 +#: part/models.py:2358 templates/js/translated/bom.js:256 +#: templates/js/translated/bom.js:314 msgid "Optional" msgstr "" -#: part/models.py:2342 +#: part/models.py:2358 msgid "This BOM item is optional" msgstr "" -#: part/models.py:2345 +#: part/models.py:2361 msgid "Overage" msgstr "" -#: part/models.py:2346 +#: part/models.py:2362 msgid "Estimated build wastage quantity (absolute or percentage)" msgstr "" -#: part/models.py:2349 +#: part/models.py:2365 msgid "BOM item reference" msgstr "" -#: part/models.py:2352 +#: part/models.py:2368 msgid "BOM item notes" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "Checksum" msgstr "" -#: part/models.py:2354 +#: part/models.py:2370 msgid "BOM line checksum" msgstr "" -#: part/models.py:2358 templates/js/translated/bom.js:315 -#: templates/js/translated/bom.js:322 -#: templates/js/translated/table_filters.js:55 +#: part/models.py:2374 templates/js/translated/bom.js:331 +#: templates/js/translated/bom.js:338 +#: templates/js/translated/table_filters.js:68 msgid "Inherited" msgstr "" -#: part/models.py:2359 +#: part/models.py:2375 msgid "This BOM item is inherited by BOMs for variant parts" msgstr "" -#: part/models.py:2364 templates/js/translated/bom.js:307 +#: part/models.py:2380 templates/js/translated/bom.js:323 msgid "Allow Variants" msgstr "" -#: part/models.py:2365 +#: part/models.py:2381 msgid "Stock items for variant parts can be used for this BOM item" msgstr "" -#: part/models.py:2450 stock/models.py:335 +#: part/models.py:2466 stock/models.py:341 msgid "Quantity must be integer value for trackable parts" msgstr "" -#: part/models.py:2459 part/models.py:2461 +#: part/models.py:2475 part/models.py:2477 msgid "Sub part must be specified" msgstr "" -#: part/models.py:2464 +#: part/models.py:2480 msgid "BOM Item" msgstr "" -#: part/models.py:2583 +#: part/models.py:2599 msgid "Part 1" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Part 2" msgstr "" -#: part/models.py:2587 +#: part/models.py:2603 msgid "Select Related Part" msgstr "" -#: part/models.py:2619 +#: part/models.py:2635 msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique" msgstr "" @@ -4317,17 +4437,17 @@ msgstr "" #: part/templates/part/bom.html:14 #, python-format -msgid "The BOM for %(part)s has changed, and must be validated.
" +msgid "The BOM for %(part)s has changed, and must be validated.
" msgstr "" #: part/templates/part/bom.html:16 #, python-format -msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" +msgid "The BOM for %(part)s was last checked by %(checker)s on %(check_date)s" msgstr "" #: part/templates/part/bom.html:20 #, python-format -msgid "The BOM for %(part)s has not been validated." +msgid "The BOM for %(part)s has not been validated." msgstr "" #: part/templates/part/bom.html:27 @@ -4374,33 +4494,34 @@ msgstr "" msgid "Select Part" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:7 -msgid "Upload BOM File" +#: part/templates/part/bom_upload/upload_file.html:13 +#: part/templates/part/bom_upload/upload_file.html:16 +msgid "Return To BOM" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:12 +#: part/templates/part/bom_upload/upload_file.html:27 msgid "Upload Bill of Materials" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:16 +#: part/templates/part/bom_upload/upload_file.html:46 msgid "Requirements for BOM upload" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "The BOM file must contain the required named columns as provided in the " msgstr "" -#: part/templates/part/bom_upload/upload_file.html:18 +#: part/templates/part/bom_upload/upload_file.html:48 msgid "BOM Upload Template" msgstr "" -#: part/templates/part/bom_upload/upload_file.html:19 +#: part/templates/part/bom_upload/upload_file.html:49 msgid "Each part must already exist in the database" msgstr "" #: part/templates/part/bom_validate.html:6 #, python-format -msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" +msgid "Confirm that the Bill of Materials (BOM) is valid for:
%(part)s" msgstr "" #: part/templates/part/bom_validate.html:9 @@ -4435,7 +4556,7 @@ msgstr "" msgid "Category Description" msgstr "" -#: part/templates/part/category.html:88 part/templates/part/category.html:174 +#: part/templates/part/category.html:88 part/templates/part/category.html:175 #: part/templates/part/category_navbar.html:14 #: part/templates/part/category_navbar.html:17 msgid "Subcategories" @@ -4449,7 +4570,7 @@ msgstr "" msgid "Export Part Data" msgstr "" -#: part/templates/part/category.html:127 part/templates/part/category.html:141 +#: part/templates/part/category.html:127 part/templates/part/category.html:142 msgid "Export" msgstr "" @@ -4470,26 +4591,30 @@ msgid "Set Category" msgstr "" #: part/templates/part/category.html:141 +msgid "Print Labels" +msgstr "" + +#: part/templates/part/category.html:142 msgid "Export Data" msgstr "" -#: part/templates/part/category.html:145 +#: part/templates/part/category.html:146 msgid "View list display" msgstr "" -#: part/templates/part/category.html:148 +#: part/templates/part/category.html:149 msgid "View grid display" msgstr "" -#: part/templates/part/category.html:164 +#: part/templates/part/category.html:165 msgid "Part Parameters" msgstr "" -#: part/templates/part/category.html:253 +#: part/templates/part/category.html:254 msgid "Create Part Category" msgstr "" -#: part/templates/part/category.html:279 +#: part/templates/part/category.html:281 msgid "Create Part" msgstr "" @@ -4533,7 +4658,7 @@ msgstr "" msgid "Import Parts" msgstr "" -#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:224 +#: part/templates/part/copy_part.html:9 templates/js/translated/part.js:352 msgid "Duplicate Part" msgstr "" @@ -4554,7 +4679,7 @@ msgstr "" #: part/templates/part/create_part.html:17 #, python-format -msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" msgstr "" #: part/templates/part/detail.html:16 @@ -4563,10 +4688,10 @@ msgstr "" #: part/templates/part/detail.html:21 #, python-format -msgid "Showing stock for all variants of %(full_name)s" +msgid "Showing stock for all variants of %(full_name)s" msgstr "" -#: part/templates/part/detail.html:30 part/templates/part/navbar.html:87 +#: part/templates/part/detail.html:30 part/templates/part/navbar.html:99 msgid "Part Test Templates" msgstr "" @@ -4586,7 +4711,7 @@ msgstr "" msgid "Sales Order Allocations" msgstr "" -#: part/templates/part/detail.html:130 part/templates/part/navbar.html:21 +#: part/templates/part/detail.html:130 part/templates/part/navbar.html:27 msgid "Part Variants" msgstr "" @@ -4602,8 +4727,8 @@ msgstr "" msgid "Add new parameter" msgstr "" -#: part/templates/part/detail.html:182 part/templates/part/navbar.html:95 -#: part/templates/part/navbar.html:98 +#: part/templates/part/detail.html:182 part/templates/part/navbar.html:107 +#: part/templates/part/navbar.html:110 msgid "Related Parts" msgstr "" @@ -4611,8 +4736,8 @@ msgstr "" msgid "Add Related" msgstr "" -#: part/templates/part/detail.html:228 part/templates/part/navbar.html:35 -#: part/templates/part/navbar.html:38 +#: part/templates/part/detail.html:228 part/templates/part/navbar.html:43 +#: part/templates/part/navbar.html:46 msgid "Bill of Materials" msgstr "" @@ -4644,50 +4769,50 @@ msgstr "" msgid "Delete manufacturer parts" msgstr "" -#: part/templates/part/detail.html:402 +#: part/templates/part/detail.html:502 msgid "Delete selected BOM items?" msgstr "" -#: part/templates/part/detail.html:403 +#: part/templates/part/detail.html:503 msgid "All selected BOM items will be deleted" msgstr "" -#: part/templates/part/detail.html:454 +#: part/templates/part/detail.html:554 msgid "Create BOM Item" msgstr "" -#: part/templates/part/detail.html:589 +#: part/templates/part/detail.html:699 msgid "Add Test Result Template" msgstr "" -#: part/templates/part/detail.html:607 +#: part/templates/part/detail.html:716 msgid "Edit Test Result Template" msgstr "" -#: part/templates/part/detail.html:619 +#: part/templates/part/detail.html:728 msgid "Delete Test Result Template" msgstr "" -#: part/templates/part/detail.html:670 +#: part/templates/part/detail.html:784 msgid "Edit Part Notes" msgstr "" -#: part/templates/part/detail.html:903 +#: part/templates/part/detail.html:936 #, python-format msgid "Purchase Unit Price - %(currency)s" msgstr "" -#: part/templates/part/detail.html:915 +#: part/templates/part/detail.html:948 #, python-format msgid "Unit Price-Cost Difference - %(currency)s" msgstr "" -#: part/templates/part/detail.html:927 +#: part/templates/part/detail.html:960 #, python-format msgid "Supplier Unit Cost - %(currency)s" msgstr "" -#: part/templates/part/detail.html:1016 +#: part/templates/part/detail.html:1049 #, python-format msgid "Unit Price - %(currency)s" msgstr "" @@ -4701,19 +4826,19 @@ msgstr "" msgid "Import Parts from File" msgstr "" -#: part/templates/part/navbar.html:24 +#: part/templates/part/navbar.html:30 msgid "Variants" msgstr "" -#: part/templates/part/navbar.html:51 part/templates/part/navbar.html:54 +#: part/templates/part/navbar.html:59 part/templates/part/navbar.html:62 msgid "Used In" msgstr "" -#: part/templates/part/navbar.html:61 +#: part/templates/part/navbar.html:70 msgid "Prices" msgstr "" -#: part/templates/part/navbar.html:90 +#: part/templates/part/navbar.html:102 msgid "Test Templates" msgstr "" @@ -4721,195 +4846,204 @@ msgstr "" msgid "Part List" msgstr "" -#: part/templates/part/part_base.html:30 +#: part/templates/part/part_base.html:35 msgid "Part is a template part (variants can be made from this part)" msgstr "" -#: part/templates/part/part_base.html:33 +#: part/templates/part/part_base.html:38 msgid "Part can be assembled from other parts" msgstr "" -#: part/templates/part/part_base.html:36 +#: part/templates/part/part_base.html:41 msgid "Part can be used in assemblies" msgstr "" -#: part/templates/part/part_base.html:39 +#: part/templates/part/part_base.html:44 msgid "Part stock is tracked by serial number" msgstr "" -#: part/templates/part/part_base.html:42 +#: part/templates/part/part_base.html:47 msgid "Part can be purchased from external suppliers" msgstr "" -#: part/templates/part/part_base.html:45 +#: part/templates/part/part_base.html:50 msgid "Part can be sold to customers" msgstr "" -#: part/templates/part/part_base.html:52 part/templates/part/part_base.html:60 +#: part/templates/part/part_base.html:57 part/templates/part/part_base.html:65 msgid "Part is virtual (not a physical part)" msgstr "" -#: part/templates/part/part_base.html:53 templates/js/translated/company.js:454 -#: templates/js/translated/company.js:704 templates/js/translated/part.js:304 -#: templates/js/translated/part.js:381 +#: part/templates/part/part_base.html:58 templates/js/translated/company.js:503 +#: templates/js/translated/company.js:759 templates/js/translated/part.js:432 +#: templates/js/translated/part.js:509 msgid "Inactive" msgstr "" -#: part/templates/part/part_base.html:68 +#: part/templates/part/part_base.html:73 msgid "Star this part" msgstr "" -#: part/templates/part/part_base.html:75 +#: part/templates/part/part_base.html:80 #: stock/templates/stock/item_base.html:75 #: stock/templates/stock/location.html:51 msgid "Barcode actions" msgstr "" -#: part/templates/part/part_base.html:77 +#: part/templates/part/part_base.html:82 #: stock/templates/stock/item_base.html:77 #: stock/templates/stock/location.html:53 templates/qr_button.html:1 msgid "Show QR Code" msgstr "" -#: part/templates/part/part_base.html:78 +#: part/templates/part/part_base.html:83 #: stock/templates/stock/item_base.html:93 #: stock/templates/stock/location.html:54 msgid "Print Label" msgstr "" -#: part/templates/part/part_base.html:83 +#: part/templates/part/part_base.html:89 msgid "Show pricing information" msgstr "" -#: part/templates/part/part_base.html:88 +#: part/templates/part/part_base.html:95 #: stock/templates/stock/item_base.html:142 #: stock/templates/stock/location.html:62 msgid "Stock actions" msgstr "" -#: part/templates/part/part_base.html:95 +#: part/templates/part/part_base.html:102 msgid "Count part stock" msgstr "" -#: part/templates/part/part_base.html:101 +#: part/templates/part/part_base.html:108 msgid "Transfer part stock" msgstr "" -#: part/templates/part/part_base.html:118 +#: part/templates/part/part_base.html:125 msgid "Part actions" msgstr "" -#: part/templates/part/part_base.html:121 +#: part/templates/part/part_base.html:128 msgid "Duplicate part" msgstr "" -#: part/templates/part/part_base.html:124 +#: part/templates/part/part_base.html:131 msgid "Edit part" msgstr "" -#: part/templates/part/part_base.html:127 +#: part/templates/part/part_base.html:134 msgid "Delete part" msgstr "" -#: part/templates/part/part_base.html:139 +#: part/templates/part/part_base.html:146 #, python-format msgid "This part is a variant of %(link)s" msgstr "" -#: part/templates/part/part_base.html:154 -#: templates/js/translated/table_filters.js:153 +#: part/templates/part/part_base.html:161 +#: templates/js/translated/table_filters.js:166 msgid "In Stock" msgstr "" -#: part/templates/part/part_base.html:167 templates/InvenTree/index.html:186 +#: part/templates/part/part_base.html:174 templates/InvenTree/index.html:186 msgid "Required for Build Orders" msgstr "" -#: part/templates/part/part_base.html:174 +#: part/templates/part/part_base.html:181 msgid "Required for Sales Orders" msgstr "" -#: part/templates/part/part_base.html:181 +#: part/templates/part/part_base.html:188 msgid "Allocated to Orders" msgstr "" -#: part/templates/part/part_base.html:196 templates/js/translated/bom.js:336 +#: part/templates/part/part_base.html:203 templates/js/translated/bom.js:352 msgid "Can Build" msgstr "" -#: part/templates/part/part_base.html:202 templates/js/translated/part.js:633 -#: templates/js/translated/part.js:806 +#: part/templates/part/part_base.html:209 templates/js/translated/part.js:765 +#: templates/js/translated/part.js:953 msgid "Building" msgstr "" -#: part/templates/part/part_base.html:275 +#: part/templates/part/part_base.html:223 +#: part/templates/part/part_base.html:524 +#: part/templates/part/part_base.html:550 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:283 msgid "Latest Serial Number" msgstr "" -#: part/templates/part/part_base.html:383 part/templates/part/prices.html:125 +#: part/templates/part/part_base.html:396 part/templates/part/prices.html:144 msgid "Calculate" msgstr "" -#: part/templates/part/part_base.html:426 +#: part/templates/part/part_base.html:439 msgid "No matching images found" msgstr "" -#: part/templates/part/part_base.html:506 -#: part/templates/part/part_base.html:531 +#: part/templates/part/part_base.html:519 +#: part/templates/part/part_base.html:544 msgid "Hide Part Details" msgstr "" -#: part/templates/part/part_base.html:511 -#: part/templates/part/part_base.html:537 -msgid "Show Part Details" -msgstr "" - #: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:21 msgid "Supplier Pricing" msgstr "" #: part/templates/part/part_pricing.html:26 #: part/templates/part/part_pricing.html:52 -#: part/templates/part/part_pricing.html:85 -#: part/templates/part/part_pricing.html:100 part/templates/part/prices.html:25 -#: part/templates/part/prices.html:52 part/templates/part/prices.html:84 -#: part/templates/part/prices.html:101 +#: part/templates/part/part_pricing.html:100 +#: part/templates/part/part_pricing.html:115 part/templates/part/prices.html:25 +#: part/templates/part/prices.html:52 part/templates/part/prices.html:103 +#: part/templates/part/prices.html:120 msgid "Unit Cost" msgstr "" #: part/templates/part/part_pricing.html:32 #: part/templates/part/part_pricing.html:58 -#: part/templates/part/part_pricing.html:89 -#: part/templates/part/part_pricing.html:104 part/templates/part/prices.html:32 -#: part/templates/part/prices.html:59 part/templates/part/prices.html:89 -#: part/templates/part/prices.html:106 +#: part/templates/part/part_pricing.html:104 +#: part/templates/part/part_pricing.html:119 part/templates/part/prices.html:32 +#: part/templates/part/prices.html:59 part/templates/part/prices.html:108 +#: part/templates/part/prices.html:125 msgid "Total Cost" msgstr "" #: part/templates/part/part_pricing.html:40 part/templates/part/prices.html:40 -#: templates/js/translated/bom.js:291 +#: templates/js/translated/bom.js:307 msgid "No supplier pricing available" msgstr "" #: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:49 -#: part/templates/part/prices.html:225 +#: part/templates/part/prices.html:243 msgid "BOM Pricing" msgstr "" -#: part/templates/part/part_pricing.html:66 part/templates/part/prices.html:67 +#: part/templates/part/part_pricing.html:65 part/templates/part/prices.html:69 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:71 part/templates/part/prices.html:76 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:81 part/templates/part/prices.html:86 msgid "Note: BOM pricing is incomplete for this part" msgstr "" -#: part/templates/part/part_pricing.html:73 part/templates/part/prices.html:74 +#: part/templates/part/part_pricing.html:88 part/templates/part/prices.html:93 msgid "No BOM pricing available" msgstr "" -#: part/templates/part/part_pricing.html:82 part/templates/part/prices.html:83 +#: part/templates/part/part_pricing.html:97 part/templates/part/prices.html:102 msgid "Internal Price" msgstr "" -#: part/templates/part/part_pricing.html:113 -#: part/templates/part/prices.html:115 +#: part/templates/part/part_pricing.html:128 +#: part/templates/part/prices.html:134 msgid "No pricing information is available for this part." msgstr "" @@ -4919,7 +5053,7 @@ msgstr "" #: part/templates/part/partial_delete.html:7 #, python-format -msgid "Are you sure you want to delete part '%(full_name)s'?" +msgid "Are you sure you want to delete part '%(full_name)s'?" msgstr "" #: part/templates/part/partial_delete.html:12 @@ -4963,53 +5097,53 @@ msgstr "" msgid "Show BOM cost" msgstr "" -#: part/templates/part/prices.html:98 +#: part/templates/part/prices.html:117 msgid "Show sale cost" msgstr "" -#: part/templates/part/prices.html:99 +#: part/templates/part/prices.html:118 msgid "Show sale price" msgstr "" -#: part/templates/part/prices.html:121 +#: part/templates/part/prices.html:140 msgid "Calculation parameters" msgstr "" -#: part/templates/part/prices.html:136 templates/js/translated/bom.js:285 +#: part/templates/part/prices.html:155 templates/js/translated/bom.js:301 msgid "Supplier Cost" msgstr "" -#: part/templates/part/prices.html:137 part/templates/part/prices.html:158 -#: part/templates/part/prices.html:183 part/templates/part/prices.html:213 -#: part/templates/part/prices.html:239 part/templates/part/prices.html:267 +#: part/templates/part/prices.html:156 part/templates/part/prices.html:177 +#: part/templates/part/prices.html:201 part/templates/part/prices.html:231 +#: part/templates/part/prices.html:257 part/templates/part/prices.html:285 msgid "Jump to overview" msgstr "" -#: part/templates/part/prices.html:162 +#: part/templates/part/prices.html:181 msgid "Stock Pricing" msgstr "" -#: part/templates/part/prices.html:172 +#: part/templates/part/prices.html:190 msgid "No stock pricing history is available for this part." msgstr "" -#: part/templates/part/prices.html:182 +#: part/templates/part/prices.html:200 msgid "Internal Cost" msgstr "" -#: part/templates/part/prices.html:197 part/views.py:1793 +#: part/templates/part/prices.html:215 part/views.py:1801 msgid "Add Internal Price Break" msgstr "" -#: part/templates/part/prices.html:212 +#: part/templates/part/prices.html:230 msgid "BOM Cost" msgstr "" -#: part/templates/part/prices.html:238 +#: part/templates/part/prices.html:256 msgid "Sale Cost" msgstr "" -#: part/templates/part/prices.html:278 +#: part/templates/part/prices.html:296 msgid "No sale pice history available for this part." msgstr "" @@ -5017,8 +5151,8 @@ msgstr "" msgid "Set category for the following parts" msgstr "" -#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:259 -#: templates/js/translated/part.js:623 templates/js/translated/part.js:810 +#: part/templates/part/stock_count.html:7 templates/js/translated/bom.js:278 +#: templates/js/translated/part.js:755 templates/js/translated/part.js:957 msgid "No Stock" msgstr "" @@ -5032,10 +5166,10 @@ msgstr "" #: part/templates/part/variant_part.html:10 #, python-format -msgid "Create a new variant of template '%(full_name)s'." +msgid "Create a new variant of template '%(full_name)s'." msgstr "" -#: part/templatetags/inventree_extras.py:105 +#: part/templatetags/inventree_extras.py:106 msgid "Unknown database" msgstr "" @@ -5116,51 +5250,51 @@ msgstr "" msgid "Part Pricing" msgstr "" -#: part/views.py:1429 +#: part/views.py:1437 msgid "Create Part Parameter Template" msgstr "" -#: part/views.py:1439 +#: part/views.py:1447 msgid "Edit Part Parameter Template" msgstr "" -#: part/views.py:1446 +#: part/views.py:1454 msgid "Delete Part Parameter Template" msgstr "" -#: part/views.py:1494 templates/js/translated/part.js:179 +#: part/views.py:1502 templates/js/translated/part.js:303 msgid "Edit Part Category" msgstr "" -#: part/views.py:1532 +#: part/views.py:1540 msgid "Delete Part Category" msgstr "" -#: part/views.py:1538 +#: part/views.py:1546 msgid "Part category was deleted" msgstr "" -#: part/views.py:1547 +#: part/views.py:1555 msgid "Create Category Parameter Template" msgstr "" -#: part/views.py:1648 +#: part/views.py:1656 msgid "Edit Category Parameter Template" msgstr "" -#: part/views.py:1704 +#: part/views.py:1712 msgid "Delete Category Parameter Template" msgstr "" -#: part/views.py:1726 +#: part/views.py:1734 msgid "Added new price break" msgstr "" -#: part/views.py:1802 +#: part/views.py:1810 msgid "Edit Internal Price Break" msgstr "" -#: part/views.py:1810 +#: part/views.py:1818 msgid "Delete Internal Price Break" msgstr "" @@ -5266,17 +5400,17 @@ msgid "Test Results" msgstr "" #: report/templates/report/inventree_test_report_base.html:88 -#: stock/models.py:1796 +#: stock/models.py:1807 msgid "Test" msgstr "" #: report/templates/report/inventree_test_report_base.html:89 -#: stock/models.py:1802 +#: stock/models.py:1813 msgid "Result" msgstr "" #: report/templates/report/inventree_test_report_base.html:92 -#: templates/js/translated/order.js:279 templates/js/translated/stock.js:1382 +#: templates/js/translated/order.js:353 templates/js/translated/stock.js:1523 msgid "Date" msgstr "" @@ -5288,51 +5422,51 @@ msgstr "" msgid "Fail" msgstr "" -#: stock/api.py:145 +#: stock/api.py:146 msgid "Request must contain list of stock items" msgstr "" -#: stock/api.py:153 +#: stock/api.py:154 msgid "Improperly formatted data" msgstr "" -#: stock/api.py:161 +#: stock/api.py:162 msgid "Each entry must contain a valid integer primary-key" msgstr "" -#: stock/api.py:167 +#: stock/api.py:168 msgid "Primary key does not match valid stock item" msgstr "" -#: stock/api.py:177 +#: stock/api.py:178 msgid "Invalid quantity value" msgstr "" -#: stock/api.py:182 +#: stock/api.py:183 msgid "Quantity must not be less than zero" msgstr "" -#: stock/api.py:210 +#: stock/api.py:211 #, python-brace-format msgid "Updated stock for {n} items" msgstr "" -#: stock/api.py:246 stock/api.py:279 +#: stock/api.py:247 stock/api.py:280 msgid "Specified quantity exceeds stock quantity" msgstr "" -#: stock/api.py:269 +#: stock/api.py:270 msgid "Valid location must be specified" msgstr "" -#: stock/api.py:289 +#: stock/api.py:290 #, python-brace-format msgid "Moved {n} parts to {loc}" msgstr "" -#: stock/forms.py:79 stock/forms.py:307 stock/models.py:550 +#: stock/forms.py:79 stock/forms.py:307 stock/models.py:556 #: stock/templates/stock/item_base.html:395 -#: templates/js/translated/stock.js:1025 +#: templates/js/translated/stock.js:967 msgid "Expiry Date" msgstr "" @@ -5384,258 +5518,266 @@ msgstr "" msgid "Confirm removal of installed stock items" msgstr "" -#: stock/models.py:57 stock/models.py:587 +#: stock/models.py:57 stock/models.py:593 msgid "Owner" msgstr "" -#: stock/models.py:58 stock/models.py:588 +#: stock/models.py:58 stock/models.py:594 msgid "Select Owner" msgstr "" -#: stock/models.py:316 +#: stock/models.py:322 msgid "StockItem with this serial number already exists" msgstr "" -#: stock/models.py:352 +#: stock/models.py:358 #, python-brace-format msgid "Part type ('{pf}') must be {pe}" msgstr "" -#: stock/models.py:362 stock/models.py:371 +#: stock/models.py:368 stock/models.py:377 msgid "Quantity must be 1 for item with a serial number" msgstr "" -#: stock/models.py:363 +#: stock/models.py:369 msgid "Serial number cannot be set if quantity greater than 1" msgstr "" -#: stock/models.py:385 +#: stock/models.py:391 msgid "Item cannot belong to itself" msgstr "" -#: stock/models.py:391 +#: stock/models.py:397 msgid "Item must have a build reference if is_building=True" msgstr "" -#: stock/models.py:398 +#: stock/models.py:404 msgid "Build reference does not point to the same part object" msgstr "" -#: stock/models.py:440 +#: stock/models.py:446 msgid "Parent Stock Item" msgstr "" -#: stock/models.py:449 +#: stock/models.py:455 msgid "Base part" msgstr "" -#: stock/models.py:458 +#: stock/models.py:464 msgid "Select a matching supplier part for this stock item" msgstr "" -#: stock/models.py:463 stock/templates/stock/stock_app_base.html:8 +#: stock/models.py:469 stock/templates/stock/stock_app_base.html:8 msgid "Stock Location" msgstr "" -#: stock/models.py:466 +#: stock/models.py:472 msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:473 +#: stock/models.py:479 msgid "Packaging this stock item is stored in" msgstr "" -#: stock/models.py:478 stock/templates/stock/item_base.html:284 +#: stock/models.py:484 stock/templates/stock/item_base.html:284 msgid "Installed In" msgstr "" -#: stock/models.py:481 +#: stock/models.py:487 msgid "Is this item installed in another item?" msgstr "" -#: stock/models.py:497 +#: stock/models.py:503 msgid "Serial number for this item" msgstr "" -#: stock/models.py:509 +#: stock/models.py:515 msgid "Batch code for this stock item" msgstr "" -#: stock/models.py:513 +#: stock/models.py:519 msgid "Stock Quantity" msgstr "" -#: stock/models.py:522 +#: stock/models.py:528 msgid "Source Build" msgstr "" -#: stock/models.py:524 +#: stock/models.py:530 msgid "Build for this stock item" msgstr "" -#: stock/models.py:535 +#: stock/models.py:541 msgid "Source Purchase Order" msgstr "" -#: stock/models.py:538 +#: stock/models.py:544 msgid "Purchase order for this stock item" msgstr "" -#: stock/models.py:544 +#: stock/models.py:550 msgid "Destination Sales Order" msgstr "" -#: stock/models.py:551 +#: stock/models.py:557 msgid "Expiry date for stock item. Stock will be considered expired after this date" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete on deplete" msgstr "" -#: stock/models.py:564 +#: stock/models.py:570 msgid "Delete this Stock Item when stock is depleted" msgstr "" -#: stock/models.py:574 stock/templates/stock/item.html:98 +#: stock/models.py:580 stock/templates/stock/item.html:99 #: stock/templates/stock/navbar.html:54 msgid "Stock Item Notes" msgstr "" -#: stock/models.py:583 +#: stock/models.py:589 msgid "Single unit purchase price at time of purchase" msgstr "" -#: stock/models.py:1051 -msgid "Part is not set as trackable" +#: stock/models.py:599 +msgid "Scheduled for deletion" msgstr "" -#: stock/models.py:1057 -msgid "Quantity must be integer" +#: stock/models.py:600 +msgid "This StockItem will be deleted by the background worker" msgstr "" #: stock/models.py:1063 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1069 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1075 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({n})" msgstr "" -#: stock/models.py:1066 +#: stock/models.py:1078 msgid "Serial numbers must be a list of integers" msgstr "" -#: stock/models.py:1069 +#: stock/models.py:1081 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1076 +#: stock/models.py:1088 #, python-brace-format msgid "Serial numbers already exist: {exists}" msgstr "" -#: stock/models.py:1234 +#: stock/models.py:1246 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:1716 +#: stock/models.py:1727 msgid "Entry notes" msgstr "" -#: stock/models.py:1773 +#: stock/models.py:1784 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:1779 +#: stock/models.py:1790 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:1797 +#: stock/models.py:1808 msgid "Test name" msgstr "" -#: stock/models.py:1803 templates/js/translated/table_filters.js:231 +#: stock/models.py:1814 templates/js/translated/table_filters.js:244 msgid "Test result" msgstr "" -#: stock/models.py:1809 +#: stock/models.py:1820 msgid "Test output value" msgstr "" -#: stock/models.py:1816 +#: stock/models.py:1827 msgid "Test result attachment" msgstr "" -#: stock/models.py:1822 +#: stock/models.py:1833 msgid "Test notes" msgstr "" -#: stock/templates/stock/item.html:16 +#: stock/templates/stock/item.html:17 msgid "Stock Tracking Information" msgstr "" -#: stock/templates/stock/item.html:29 +#: stock/templates/stock/item.html:30 msgid "New Entry" msgstr "" -#: stock/templates/stock/item.html:42 +#: stock/templates/stock/item.html:43 msgid "Child Stock Items" msgstr "" -#: stock/templates/stock/item.html:49 +#: stock/templates/stock/item.html:50 msgid "This stock item does not have any child items" msgstr "" -#: stock/templates/stock/item.html:57 stock/templates/stock/navbar.html:19 +#: stock/templates/stock/item.html:58 stock/templates/stock/navbar.html:19 #: stock/templates/stock/navbar.html:22 msgid "Test Data" msgstr "" -#: stock/templates/stock/item.html:65 +#: stock/templates/stock/item.html:66 msgid "Delete Test Data" msgstr "" -#: stock/templates/stock/item.html:69 +#: stock/templates/stock/item.html:70 msgid "Add Test Data" msgstr "" -#: stock/templates/stock/item.html:72 stock/templates/stock/item_base.html:95 +#: stock/templates/stock/item.html:73 stock/templates/stock/item_base.html:95 msgid "Test Report" msgstr "" -#: stock/templates/stock/item.html:119 stock/templates/stock/navbar.html:27 +#: stock/templates/stock/item.html:120 stock/templates/stock/navbar.html:27 msgid "Installed Stock Items" msgstr "" -#: stock/templates/stock/item.html:124 stock/views.py:534 +#: stock/templates/stock/item.html:125 stock/views.py:534 msgid "Install Stock Item" msgstr "" -#: stock/templates/stock/item.html:299 stock/templates/stock/item.html:324 +#: stock/templates/stock/item.html:301 stock/templates/stock/item.html:326 msgid "Add Test Result" msgstr "" -#: stock/templates/stock/item.html:344 +#: stock/templates/stock/item.html:346 msgid "Edit Test Result" msgstr "" -#: stock/templates/stock/item.html:358 +#: stock/templates/stock/item.html:360 msgid "Delete Test Result" msgstr "" #: stock/templates/stock/item_base.html:33 #: stock/templates/stock/item_base.html:399 -#: templates/js/translated/table_filters.js:212 +#: templates/js/translated/table_filters.js:225 msgid "Expired" msgstr "" #: stock/templates/stock/item_base.html:43 #: stock/templates/stock/item_base.html:401 -#: templates/js/translated/table_filters.js:218 +#: templates/js/translated/table_filters.js:231 msgid "Stale" msgstr "" #: stock/templates/stock/item_base.html:80 -#: templates/js/translated/barcode.js:309 -#: templates/js/translated/barcode.js:314 +#: templates/js/translated/barcode.js:331 +#: templates/js/translated/barcode.js:336 msgid "Unlink Barcode" msgstr "" @@ -5768,7 +5910,7 @@ msgid "next page" msgstr "" #: stock/templates/stock/item_base.html:303 -#: templates/js/translated/build.js:628 +#: templates/js/translated/build.js:651 msgid "No location set" msgstr "" @@ -5795,7 +5937,7 @@ msgid "This StockItem expires on %(item.expiry_date)s" msgstr "" #: stock/templates/stock/item_base.html:408 -#: templates/js/translated/stock.js:1032 +#: templates/js/translated/stock.js:980 msgid "Last Updated" msgstr "" @@ -5825,7 +5967,7 @@ msgstr "" #: stock/templates/stock/item_delete.html:12 #, python-format -msgid "This will remove %(qty)s units of %(full_name)s from stock." +msgid "This will remove %(qty)s units of %(full_name)s from stock." msgstr "" #: stock/templates/stock/item_install.html:8 @@ -5975,7 +6117,7 @@ msgstr "" #: stock/templates/stock/stockitem_convert.html:8 #, python-format -msgid "This stock item is current an instance of %(part)s" +msgid "This stock item is current an instance of %(part)s" msgstr "" #: stock/templates/stock/stockitem_convert.html:9 @@ -6039,7 +6181,7 @@ msgstr "" msgid "Uninstall Stock Items" msgstr "" -#: stock/views.py:780 templates/js/translated/stock.js:282 +#: stock/views.py:780 templates/js/translated/stock.js:353 msgid "Confirm stock adjustment" msgstr "" @@ -6059,7 +6201,7 @@ msgstr "" msgid "Serialize Stock" msgstr "" -#: stock/views.py:1143 templates/js/translated/build.js:365 +#: stock/views.py:1143 templates/js/translated/build.js:392 msgid "Create new Stock Item" msgstr "" @@ -6171,11 +6313,11 @@ msgstr "" msgid "Enter a search query" msgstr "" -#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:629 +#: templates/InvenTree/search.html:268 templates/js/translated/stock.js:699 msgid "Shipped to customer" msgstr "" -#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:639 +#: templates/InvenTree/search.html:271 templates/js/translated/stock.js:709 msgid "No stock location set" msgstr "" @@ -6240,7 +6382,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:27 #: templates/InvenTree/settings/navbar.html:29 -#: templates/js/translated/tables.js:351 templates/search_form.html:6 +#: templates/js/translated/tables.js:366 templates/search_form.html:6 #: templates/search_form.html:8 msgid "Search" msgstr "" @@ -6257,7 +6399,7 @@ msgstr "" #: templates/InvenTree/settings/navbar.html:46 #: templates/InvenTree/settings/navbar.html:48 -#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:84 +#: templates/InvenTree/settings/settings.html:8 templates/navbar.html:94 msgid "Settings" msgstr "" @@ -6332,16 +6474,16 @@ msgid "No category parameter templates found" msgstr "" #: templates/InvenTree/settings/settings.html:174 -#: templates/InvenTree/settings/settings.html:271 +#: templates/InvenTree/settings/settings.html:273 msgid "Edit Template" msgstr "" #: templates/InvenTree/settings/settings.html:175 -#: templates/InvenTree/settings/settings.html:272 +#: templates/InvenTree/settings/settings.html:274 msgid "Delete Template" msgstr "" -#: templates/InvenTree/settings/settings.html:251 +#: templates/InvenTree/settings/settings.html:253 msgid "No part parameter templates found" msgstr "" @@ -6358,6 +6500,7 @@ msgid "Account Settings" msgstr "" #: templates/InvenTree/settings/user.html:15 +#: templates/js/translated/helpers.js:26 msgid "Edit" msgstr "" @@ -6436,65 +6579,69 @@ msgstr "" msgid "InvenTree Version" msgstr "" -#: templates/about.html:26 +#: templates/about.html:27 +msgid "Development Version" +msgstr "" + +#: templates/about.html:30 msgid "Up to Date" msgstr "" -#: templates/about.html:28 +#: templates/about.html:32 msgid "Update Available" msgstr "" -#: templates/about.html:34 -msgid "API Version" -msgstr "" - -#: templates/about.html:39 -msgid "Python Version" -msgstr "" - -#: templates/about.html:44 -msgid "Django Version" -msgstr "" - -#: templates/about.html:51 +#: templates/about.html:42 msgid "Commit Hash" msgstr "" -#: templates/about.html:58 +#: templates/about.html:49 msgid "Commit Date" msgstr "" -#: templates/about.html:63 +#: templates/about.html:55 msgid "InvenTree Documentation" msgstr "" -#: templates/about.html:68 +#: templates/about.html:60 +msgid "API Version" +msgstr "" + +#: templates/about.html:65 +msgid "Python Version" +msgstr "" + +#: templates/about.html:70 +msgid "Django Version" +msgstr "" + +#: templates/about.html:75 msgid "View Code on GitHub" msgstr "" -#: templates/about.html:73 +#: templates/about.html:80 msgid "Credits" msgstr "" -#: templates/about.html:78 +#: templates/about.html:85 msgid "Mobile App" msgstr "" -#: templates/about.html:83 +#: templates/about.html:90 msgid "Submit Bug Report" msgstr "" -#: templates/about.html:90 templates/clip.html:4 +#: templates/about.html:97 templates/clip.html:4 msgid "copy to clipboard" msgstr "" -#: templates/about.html:90 +#: templates/about.html:97 msgid "copy version information" msgstr "" -#: templates/about.html:100 templates/js/translated/modals.js:33 -#: templates/js/translated/modals.js:567 templates/js/translated/modals.js:661 -#: templates/js/translated/modals.js:957 templates/modals.html:29 +#: templates/about.html:107 templates/js/translated/modals.js:50 +#: templates/js/translated/modals.js:584 templates/js/translated/modals.js:678 +#: templates/js/translated/modals.js:971 templates/modals.html:29 #: templates/modals.html:54 msgid "Close" msgstr "" @@ -6515,1358 +6662,1390 @@ msgstr "" msgid "Remote image must not exceed maximum allowable file size" msgstr "" -#: templates/js/report.js:47 templates/js/translated/report.js:47 +#: templates/js/report.js:47 templates/js/translated/report.js:67 msgid "items selected" msgstr "" -#: templates/js/report.js:55 templates/js/translated/report.js:55 +#: templates/js/report.js:55 templates/js/translated/report.js:75 msgid "Select Report Template" msgstr "" -#: templates/js/report.js:70 templates/js/translated/report.js:70 +#: templates/js/report.js:70 templates/js/translated/report.js:90 msgid "Select Test Report Template" msgstr "" -#: templates/js/report.js:98 templates/js/translated/label.js:10 -#: templates/js/translated/report.js:98 templates/js/translated/stock.js:244 +#: templates/js/report.js:98 templates/js/translated/label.js:29 +#: templates/js/translated/report.js:118 templates/js/translated/stock.js:313 msgid "Select Stock Items" msgstr "" -#: templates/js/report.js:99 templates/js/translated/report.js:99 +#: templates/js/report.js:99 templates/js/translated/report.js:119 msgid "Stock item(s) must be selected before printing reports" msgstr "" #: templates/js/report.js:116 templates/js/report.js:169 #: templates/js/report.js:223 templates/js/report.js:277 -#: templates/js/report.js:331 templates/js/translated/report.js:116 -#: templates/js/translated/report.js:169 templates/js/translated/report.js:223 -#: templates/js/translated/report.js:277 templates/js/translated/report.js:331 +#: templates/js/report.js:331 templates/js/translated/report.js:136 +#: templates/js/translated/report.js:189 templates/js/translated/report.js:243 +#: templates/js/translated/report.js:297 templates/js/translated/report.js:351 msgid "No Reports Found" msgstr "" -#: templates/js/report.js:117 templates/js/translated/report.js:117 +#: templates/js/report.js:117 templates/js/translated/report.js:137 msgid "No report templates found which match selected stock item(s)" msgstr "" -#: templates/js/report.js:152 templates/js/translated/report.js:152 +#: templates/js/report.js:152 templates/js/translated/report.js:172 msgid "Select Builds" msgstr "" -#: templates/js/report.js:153 templates/js/translated/report.js:153 +#: templates/js/report.js:153 templates/js/translated/report.js:173 msgid "Build(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:170 templates/js/translated/report.js:170 +#: templates/js/report.js:170 templates/js/translated/report.js:190 msgid "No report templates found which match selected build(s)" msgstr "" -#: templates/js/report.js:205 templates/js/translated/label.js:115 -#: templates/js/translated/report.js:205 +#: templates/js/report.js:205 templates/js/translated/label.js:134 +#: templates/js/translated/report.js:225 msgid "Select Parts" msgstr "" -#: templates/js/report.js:206 templates/js/translated/report.js:206 +#: templates/js/report.js:206 templates/js/translated/report.js:226 msgid "Part(s) must be selected before printing reports" msgstr "" -#: templates/js/report.js:224 templates/js/translated/report.js:224 +#: templates/js/report.js:224 templates/js/translated/report.js:244 msgid "No report templates found which match selected part(s)" msgstr "" -#: templates/js/report.js:259 templates/js/translated/report.js:259 +#: templates/js/report.js:259 templates/js/translated/report.js:279 msgid "Select Purchase Orders" msgstr "" -#: templates/js/report.js:260 templates/js/translated/report.js:260 +#: templates/js/report.js:260 templates/js/translated/report.js:280 msgid "Purchase Order(s) must be selected before printing report" msgstr "" #: templates/js/report.js:278 templates/js/report.js:332 -#: templates/js/translated/report.js:278 templates/js/translated/report.js:332 +#: templates/js/translated/report.js:298 templates/js/translated/report.js:352 msgid "No report templates found which match selected orders" msgstr "" -#: templates/js/report.js:313 templates/js/translated/report.js:313 +#: templates/js/report.js:313 templates/js/translated/report.js:333 msgid "Select Sales Orders" msgstr "" -#: templates/js/report.js:314 templates/js/translated/report.js:314 +#: templates/js/report.js:314 templates/js/translated/report.js:334 msgid "Sales Order(s) must be selected before printing report" msgstr "" -#: templates/js/translated/api.js:161 templates/js/translated/modals.js:1027 +#: templates/js/translated/api.js:174 templates/js/translated/modals.js:1041 msgid "No Response" msgstr "" -#: templates/js/translated/api.js:162 templates/js/translated/modals.js:1028 +#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 msgid "No response from the InvenTree server" msgstr "" -#: templates/js/translated/api.js:167 +#: templates/js/translated/api.js:181 msgid "Error 400: Bad request" msgstr "" -#: templates/js/translated/api.js:168 +#: templates/js/translated/api.js:182 msgid "API request returned error code 400" msgstr "" -#: templates/js/translated/api.js:171 templates/js/translated/modals.js:1037 +#: templates/js/translated/api.js:186 templates/js/translated/modals.js:1051 msgid "Error 401: Not Authenticated" msgstr "" -#: templates/js/translated/api.js:172 templates/js/translated/modals.js:1038 +#: templates/js/translated/api.js:187 templates/js/translated/modals.js:1052 msgid "Authentication credentials not supplied" msgstr "" -#: templates/js/translated/api.js:175 templates/js/translated/modals.js:1042 +#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1056 msgid "Error 403: Permission Denied" msgstr "" -#: templates/js/translated/api.js:176 templates/js/translated/modals.js:1043 +#: templates/js/translated/api.js:192 templates/js/translated/modals.js:1057 msgid "You do not have the required permissions to access this function" msgstr "" -#: templates/js/translated/api.js:179 templates/js/translated/modals.js:1047 +#: templates/js/translated/api.js:196 templates/js/translated/modals.js:1061 msgid "Error 404: Resource Not Found" msgstr "" -#: templates/js/translated/api.js:180 templates/js/translated/modals.js:1048 +#: templates/js/translated/api.js:197 templates/js/translated/modals.js:1062 msgid "The requested resource could not be located on the server" msgstr "" -#: templates/js/translated/api.js:183 templates/js/translated/modals.js:1052 +#: templates/js/translated/api.js:201 templates/js/translated/modals.js:1066 msgid "Error 408: Timeout" msgstr "" -#: templates/js/translated/api.js:184 templates/js/translated/modals.js:1053 +#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1067 msgid "Connection timeout while requesting data from server" msgstr "" -#: templates/js/translated/api.js:187 +#: templates/js/translated/api.js:205 msgid "Unhandled Error Code" msgstr "" -#: templates/js/translated/api.js:188 +#: templates/js/translated/api.js:206 msgid "Error code" msgstr "" -#: templates/js/translated/attachment.js:16 +#: templates/js/translated/attachment.js:27 msgid "No attachments found" msgstr "" -#: templates/js/translated/attachment.js:56 +#: templates/js/translated/attachment.js:91 msgid "Upload Date" msgstr "" -#: templates/js/translated/attachment.js:69 +#: templates/js/translated/attachment.js:104 msgid "Edit attachment" msgstr "" -#: templates/js/translated/attachment.js:76 +#: templates/js/translated/attachment.js:111 msgid "Delete attachment" msgstr "" -#: templates/js/translated/barcode.js:8 +#: templates/js/translated/barcode.js:30 msgid "Scan barcode data here using wedge scanner" msgstr "" -#: templates/js/translated/barcode.js:10 +#: templates/js/translated/barcode.js:32 msgid "Enter barcode data" msgstr "" -#: templates/js/translated/barcode.js:14 +#: templates/js/translated/barcode.js:36 msgid "Barcode" msgstr "" -#: templates/js/translated/barcode.js:32 +#: templates/js/translated/barcode.js:54 msgid "Enter optional notes for stock transfer" msgstr "" -#: templates/js/translated/barcode.js:33 +#: templates/js/translated/barcode.js:55 msgid "Enter notes" msgstr "" -#: templates/js/translated/barcode.js:71 +#: templates/js/translated/barcode.js:93 msgid "Server error" msgstr "" -#: templates/js/translated/barcode.js:92 +#: templates/js/translated/barcode.js:114 msgid "Unknown response from server" msgstr "" -#: templates/js/translated/barcode.js:119 -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/barcode.js:141 +#: templates/js/translated/modals.js:1031 msgid "Invalid server response" msgstr "" -#: templates/js/translated/barcode.js:212 +#: templates/js/translated/barcode.js:234 msgid "Scan barcode data below" msgstr "" -#: templates/js/translated/barcode.js:270 +#: templates/js/translated/barcode.js:281 templates/navbar.html:65 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:292 msgid "No URL in response" msgstr "" -#: templates/js/translated/barcode.js:288 +#: templates/js/translated/barcode.js:310 msgid "Link Barcode to Stock Item" msgstr "" -#: templates/js/translated/barcode.js:311 +#: templates/js/translated/barcode.js:333 msgid "This will remove the association between this stock item and the barcode" msgstr "" -#: templates/js/translated/barcode.js:317 +#: templates/js/translated/barcode.js:339 msgid "Unlink" msgstr "" -#: templates/js/translated/barcode.js:376 templates/js/translated/stock.js:220 +#: templates/js/translated/barcode.js:398 templates/js/translated/stock.js:289 msgid "Remove stock item" msgstr "" -#: templates/js/translated/barcode.js:418 +#: templates/js/translated/barcode.js:440 msgid "Check Stock Items into Location" msgstr "" -#: templates/js/translated/barcode.js:422 -#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:444 +#: templates/js/translated/barcode.js:571 msgid "Check In" msgstr "" -#: templates/js/translated/barcode.js:462 -#: templates/js/translated/barcode.js:586 +#: templates/js/translated/barcode.js:486 +#: templates/js/translated/barcode.js:610 msgid "Error transferring stock" msgstr "" -#: templates/js/translated/barcode.js:481 +#: templates/js/translated/barcode.js:505 msgid "Stock Item already scanned" msgstr "" -#: templates/js/translated/barcode.js:485 +#: templates/js/translated/barcode.js:509 msgid "Stock Item already in this location" msgstr "" -#: templates/js/translated/barcode.js:492 +#: templates/js/translated/barcode.js:516 msgid "Added stock item" msgstr "" -#: templates/js/translated/barcode.js:499 +#: templates/js/translated/barcode.js:523 msgid "Barcode does not match Stock Item" msgstr "" -#: templates/js/translated/barcode.js:542 +#: templates/js/translated/barcode.js:566 msgid "Check Into Location" msgstr "" -#: templates/js/translated/barcode.js:605 +#: templates/js/translated/barcode.js:629 msgid "Barcode does not match a valid location" msgstr "" -#: templates/js/translated/bom.js:195 templates/js/translated/build.js:1152 +#: templates/js/translated/bom.js:215 templates/js/translated/build.js:1169 msgid "Open subassembly" msgstr "" -#: templates/js/translated/bom.js:269 +#: templates/js/translated/bom.js:287 msgid "Purchase Price Range" msgstr "" -#: templates/js/translated/bom.js:277 +#: templates/js/translated/bom.js:294 msgid "Purchase Price Average" msgstr "" -#: templates/js/translated/bom.js:326 templates/js/translated/bom.js:412 +#: templates/js/translated/bom.js:342 templates/js/translated/bom.js:428 msgid "View BOM" msgstr "" -#: templates/js/translated/bom.js:386 +#: templates/js/translated/bom.js:402 msgid "Validate BOM Item" msgstr "" -#: templates/js/translated/bom.js:388 +#: templates/js/translated/bom.js:404 msgid "This line has been validated" msgstr "" -#: templates/js/translated/bom.js:390 templates/js/translated/bom.js:555 +#: templates/js/translated/bom.js:406 templates/js/translated/bom.js:569 msgid "Edit BOM Item" msgstr "" -#: templates/js/translated/bom.js:392 templates/js/translated/bom.js:539 +#: templates/js/translated/bom.js:408 templates/js/translated/bom.js:554 msgid "Delete BOM Item" msgstr "" -#: templates/js/translated/bom.js:483 templates/js/translated/build.js:458 -#: templates/js/translated/build.js:1250 +#: templates/js/translated/bom.js:499 templates/js/translated/build.js:483 +#: templates/js/translated/build.js:1267 msgid "No BOM items found" msgstr "" -#: templates/js/translated/build.js:42 +#: templates/js/translated/build.js:69 msgid "Edit Build Order" msgstr "" -#: templates/js/translated/build.js:68 +#: templates/js/translated/build.js:95 msgid "Create Build Order" msgstr "" -#: templates/js/translated/build.js:100 +#: templates/js/translated/build.js:127 msgid "Auto-allocate stock items to this output" msgstr "" -#: templates/js/translated/build.js:108 +#: templates/js/translated/build.js:135 msgid "Unallocate stock from build output" msgstr "" -#: templates/js/translated/build.js:118 +#: templates/js/translated/build.js:145 msgid "Complete build output" msgstr "" -#: templates/js/translated/build.js:127 +#: templates/js/translated/build.js:154 msgid "Delete build output" msgstr "" -#: templates/js/translated/build.js:222 +#: templates/js/translated/build.js:249 msgid "No build order allocations found" msgstr "" -#: templates/js/translated/build.js:260 templates/js/translated/order.js:471 +#: templates/js/translated/build.js:287 templates/js/translated/order.js:813 msgid "Location not specified" msgstr "" -#: templates/js/translated/build.js:364 templates/stock_table.html:20 +#: templates/js/translated/build.js:391 templates/stock_table.html:20 msgid "New Stock Item" msgstr "" -#: templates/js/translated/build.js:679 +#: templates/js/translated/build.js:702 msgid "Required Part" msgstr "" -#: templates/js/translated/build.js:700 +#: templates/js/translated/build.js:723 msgid "Quantity Per" msgstr "" -#: templates/js/translated/build.js:770 templates/js/translated/build.js:1214 +#: templates/js/translated/build.js:793 templates/js/translated/build.js:1231 #: templates/stock_table.html:59 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:823 +#: templates/js/translated/build.js:846 msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:840 templates/js/translated/part.js:711 -#: templates/js/translated/part.js:956 templates/js/translated/stock.js:883 -#: templates/js/translated/stock.js:1336 +#: templates/js/translated/build.js:863 templates/js/translated/part.js:845 +#: templates/js/translated/part.js:1123 templates/js/translated/stock.js:783 +#: templates/js/translated/stock.js:1477 msgid "Select" msgstr "" -#: templates/js/translated/build.js:860 +#: templates/js/translated/build.js:883 msgid "Build order is overdue" msgstr "" -#: templates/js/translated/build.js:924 templates/js/translated/stock.js:1558 +#: templates/js/translated/build.js:944 templates/js/translated/stock.js:1696 msgid "No user information" msgstr "" -#: templates/js/translated/build.js:939 +#: templates/js/translated/build.js:956 msgid "No information" msgstr "" -#: templates/js/translated/build.js:989 +#: templates/js/translated/build.js:1007 msgid "No parts allocated for" msgstr "" -#: templates/js/translated/company.js:34 +#: templates/js/translated/company.js:65 msgid "Add Manufacturer" msgstr "" -#: templates/js/translated/company.js:47 templates/js/translated/company.js:136 +#: templates/js/translated/company.js:78 templates/js/translated/company.js:176 msgid "Add Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:59 +#: templates/js/translated/company.js:99 msgid "Edit Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:68 +#: templates/js/translated/company.js:108 msgid "Delete Manufacturer Part" msgstr "" -#: templates/js/translated/company.js:124 templates/js/translated/order.js:58 +#: templates/js/translated/company.js:164 templates/js/translated/order.js:86 msgid "Add Supplier" msgstr "" -#: templates/js/translated/company.js:152 +#: templates/js/translated/company.js:192 msgid "Add Supplier Part" msgstr "" -#: templates/js/translated/company.js:162 +#: templates/js/translated/company.js:207 msgid "Edit Supplier Part" msgstr "" -#: templates/js/translated/company.js:172 +#: templates/js/translated/company.js:217 msgid "Delete Supplier Part" msgstr "" -#: templates/js/translated/company.js:219 +#: templates/js/translated/company.js:264 msgid "Edit Company" msgstr "" -#: templates/js/translated/company.js:240 +#: templates/js/translated/company.js:285 msgid "Add new Company" msgstr "" -#: templates/js/translated/company.js:317 +#: templates/js/translated/company.js:362 msgid "Parts Supplied" msgstr "" -#: templates/js/translated/company.js:326 +#: templates/js/translated/company.js:371 msgid "Parts Manufactured" msgstr "" -#: templates/js/translated/company.js:339 +#: templates/js/translated/company.js:385 msgid "No company information found" msgstr "" -#: templates/js/translated/company.js:357 +#: templates/js/translated/company.js:404 msgid "The following manufacturer parts will be deleted" msgstr "" -#: templates/js/translated/company.js:374 +#: templates/js/translated/company.js:421 msgid "Delete Manufacturer Parts" msgstr "" -#: templates/js/translated/company.js:427 +#: templates/js/translated/company.js:475 msgid "No manufacturer parts found" msgstr "" -#: templates/js/translated/company.js:446 -#: templates/js/translated/company.js:696 templates/js/translated/part.js:288 -#: templates/js/translated/part.js:373 +#: templates/js/translated/company.js:495 +#: templates/js/translated/company.js:751 templates/js/translated/part.js:416 +#: templates/js/translated/part.js:501 msgid "Template part" msgstr "" -#: templates/js/translated/company.js:450 -#: templates/js/translated/company.js:700 templates/js/translated/part.js:292 -#: templates/js/translated/part.js:377 +#: templates/js/translated/company.js:499 +#: templates/js/translated/company.js:755 templates/js/translated/part.js:420 +#: templates/js/translated/part.js:505 msgid "Assembled part" msgstr "" -#: templates/js/translated/company.js:574 templates/js/translated/part.js:462 +#: templates/js/translated/company.js:626 templates/js/translated/part.js:593 msgid "No parameters found" msgstr "" -#: templates/js/translated/company.js:610 templates/js/translated/part.js:503 +#: templates/js/translated/company.js:663 templates/js/translated/part.js:635 msgid "Edit parameter" msgstr "" -#: templates/js/translated/company.js:611 templates/js/translated/part.js:504 +#: templates/js/translated/company.js:664 templates/js/translated/part.js:636 msgid "Delete parameter" msgstr "" -#: templates/js/translated/company.js:630 templates/js/translated/part.js:521 +#: templates/js/translated/company.js:683 templates/js/translated/part.js:653 msgid "Edit Parameter" msgstr "" -#: templates/js/translated/company.js:641 templates/js/translated/part.js:533 +#: templates/js/translated/company.js:694 templates/js/translated/part.js:665 msgid "Delete Parameter" msgstr "" -#: templates/js/translated/company.js:677 +#: templates/js/translated/company.js:731 msgid "No supplier parts found" msgstr "" -#: templates/js/translated/filters.js:167 -#: templates/js/translated/filters.js:404 +#: templates/js/translated/filters.js:178 +#: templates/js/translated/filters.js:402 msgid "true" msgstr "" -#: templates/js/translated/filters.js:171 -#: templates/js/translated/filters.js:405 +#: templates/js/translated/filters.js:182 +#: templates/js/translated/filters.js:403 msgid "false" msgstr "" -#: templates/js/translated/filters.js:193 +#: templates/js/translated/filters.js:204 msgid "Select filter" msgstr "" -#: templates/js/translated/filters.js:268 +#: templates/js/translated/filters.js:279 msgid "Reload data" msgstr "" -#: templates/js/translated/filters.js:270 +#: templates/js/translated/filters.js:281 msgid "Add new filter" msgstr "" -#: templates/js/translated/filters.js:273 +#: templates/js/translated/filters.js:284 msgid "Clear all filters" msgstr "" -#: templates/js/translated/filters.js:303 +#: templates/js/translated/filters.js:312 msgid "Create filter" msgstr "" -#: templates/js/translated/forms.js:289 templates/js/translated/forms.js:302 -#: templates/js/translated/forms.js:314 templates/js/translated/forms.js:326 +#: templates/js/translated/forms.js:323 templates/js/translated/forms.js:336 +#: templates/js/translated/forms.js:348 templates/js/translated/forms.js:360 msgid "Action Prohibited" msgstr "" -#: templates/js/translated/forms.js:290 +#: templates/js/translated/forms.js:324 msgid "Create operation not allowed" msgstr "" -#: templates/js/translated/forms.js:303 +#: templates/js/translated/forms.js:337 msgid "Update operation not allowed" msgstr "" -#: templates/js/translated/forms.js:315 +#: templates/js/translated/forms.js:349 msgid "Delete operation not allowed" msgstr "" -#: templates/js/translated/forms.js:327 +#: templates/js/translated/forms.js:361 msgid "View operation not allowed" msgstr "" -#: templates/js/translated/forms.js:865 templates/modals.html:21 +#: templates/js/translated/forms.js:889 templates/modals.html:21 #: templates/modals.html:47 msgid "Form errors exist" msgstr "" -#: templates/js/translated/forms.js:1258 +#: templates/js/translated/forms.js:1379 msgid "Searching" msgstr "" -#: templates/js/translated/forms.js:1423 +#: templates/js/translated/forms.js:1593 msgid "Clear input" msgstr "" -#: templates/js/translated/label.js:11 -msgid "Stock item(s) must be selected before printing labels" +#: templates/js/translated/helpers.js:19 +msgid "YES" msgstr "" -#: templates/js/translated/label.js:29 templates/js/translated/label.js:79 -#: templates/js/translated/label.js:134 -msgid "No Labels Found" +#: templates/js/translated/helpers.js:21 +msgid "NO" msgstr "" #: templates/js/translated/label.js:30 +msgid "Stock item(s) must be selected before printing labels" +msgstr "" + +#: templates/js/translated/label.js:48 templates/js/translated/label.js:98 +#: templates/js/translated/label.js:153 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:49 msgid "No labels found which match selected stock item(s)" msgstr "" -#: templates/js/translated/label.js:61 +#: templates/js/translated/label.js:80 msgid "Select Stock Locations" msgstr "" -#: templates/js/translated/label.js:62 +#: templates/js/translated/label.js:81 msgid "Stock location(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:80 +#: templates/js/translated/label.js:99 msgid "No labels found which match selected stock location(s)" msgstr "" -#: templates/js/translated/label.js:116 +#: templates/js/translated/label.js:135 msgid "Part(s) must be selected before printing labels" msgstr "" -#: templates/js/translated/label.js:135 +#: templates/js/translated/label.js:154 msgid "No labels found which match the selected part(s)" msgstr "" -#: templates/js/translated/label.js:209 +#: templates/js/translated/label.js:228 msgid "stock items selected" msgstr "" -#: templates/js/translated/label.js:217 +#: templates/js/translated/label.js:236 msgid "Select Label" msgstr "" -#: templates/js/translated/label.js:232 +#: templates/js/translated/label.js:251 msgid "Select Label Template" msgstr "" -#: templates/js/translated/modals.js:59 templates/js/translated/modals.js:103 -#: templates/js/translated/modals.js:593 +#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120 +#: templates/js/translated/modals.js:610 msgid "Cancel" msgstr "" -#: templates/js/translated/modals.js:60 templates/js/translated/modals.js:102 -#: templates/js/translated/modals.js:660 templates/js/translated/modals.js:956 +#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119 +#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:970 #: templates/modals.html:30 templates/modals.html:55 msgid "Submit" msgstr "" -#: templates/js/translated/modals.js:101 +#: templates/js/translated/modals.js:118 msgid "Form Title" msgstr "" -#: templates/js/translated/modals.js:380 +#: templates/js/translated/modals.js:397 msgid "Waiting for server..." msgstr "" -#: templates/js/translated/modals.js:539 +#: templates/js/translated/modals.js:556 msgid "Show Error Information" msgstr "" -#: templates/js/translated/modals.js:592 +#: templates/js/translated/modals.js:609 msgid "Accept" msgstr "" -#: templates/js/translated/modals.js:649 +#: templates/js/translated/modals.js:666 msgid "Loading Data" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Invalid response from server" msgstr "" -#: templates/js/translated/modals.js:907 +#: templates/js/translated/modals.js:922 msgid "Form data missing from server response" msgstr "" -#: templates/js/translated/modals.js:920 +#: templates/js/translated/modals.js:934 msgid "Error posting form data" msgstr "" -#: templates/js/translated/modals.js:1017 +#: templates/js/translated/modals.js:1031 msgid "JSON response missing form data" msgstr "" -#: templates/js/translated/modals.js:1032 +#: templates/js/translated/modals.js:1046 msgid "Error 400: Bad Request" msgstr "" -#: templates/js/translated/modals.js:1033 +#: templates/js/translated/modals.js:1047 msgid "Server returned error code 400" msgstr "" -#: templates/js/translated/modals.js:1056 +#: templates/js/translated/modals.js:1070 msgid "Error requesting form data" msgstr "" -#: templates/js/translated/model_renderers.js:38 +#: templates/js/translated/model_renderers.js:40 msgid "Company ID" msgstr "" -#: templates/js/translated/model_renderers.js:78 +#: templates/js/translated/model_renderers.js:82 msgid "Location ID" msgstr "" -#: templates/js/translated/model_renderers.js:95 +#: templates/js/translated/model_renderers.js:99 msgid "Build ID" msgstr "" -#: templates/js/translated/model_renderers.js:114 +#: templates/js/translated/model_renderers.js:119 msgid "Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:163 +#: templates/js/translated/model_renderers.js:171 msgid "Category ID" msgstr "" -#: templates/js/translated/model_renderers.js:199 +#: templates/js/translated/model_renderers.js:208 msgid "Manufacturer Part ID" msgstr "" -#: templates/js/translated/model_renderers.js:227 +#: templates/js/translated/model_renderers.js:237 msgid "Supplier Part ID" msgstr "" -#: templates/js/translated/order.js:17 +#: templates/js/translated/order.js:45 msgid "Add Customer" msgstr "" -#: templates/js/translated/order.js:42 +#: templates/js/translated/order.js:70 msgid "Create Sales Order" msgstr "" -#: templates/js/translated/order.js:222 +#: templates/js/translated/order.js:295 msgid "No purchase orders found" msgstr "" -#: templates/js/translated/order.js:246 templates/js/translated/order.js:341 +#: templates/js/translated/order.js:320 templates/js/translated/order.js:682 msgid "Order is overdue" msgstr "" -#: templates/js/translated/order.js:318 +#: templates/js/translated/order.js:452 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:617 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/order.js:621 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/order.js:658 msgid "No sales orders found" msgstr "" -#: templates/js/translated/order.js:355 +#: templates/js/translated/order.js:696 msgid "Invalid Customer" msgstr "" -#: templates/js/translated/order.js:432 +#: templates/js/translated/order.js:774 msgid "No sales order allocations found" msgstr "" -#: templates/js/translated/part.js:10 -msgid "YES" -msgstr "" - -#: templates/js/translated/part.js:12 -msgid "NO" -msgstr "" - -#: templates/js/translated/part.js:22 -msgid "Add Part Category" -msgstr "" - -#: templates/js/translated/part.js:53 +#: templates/js/translated/part.js:49 msgid "Part Attributes" msgstr "" -#: templates/js/translated/part.js:96 +#: templates/js/translated/part.js:53 msgid "Part Creation Options" msgstr "" -#: templates/js/translated/part.js:102 -msgid "Initial Stock Quantity" -msgstr "" - -#: templates/js/translated/part.js:103 -msgid "Initialize part stock with specified quantity" -msgstr "" - -#: templates/js/translated/part.js:109 -msgid "Copy Category Parameters" -msgstr "" - -#: templates/js/translated/part.js:110 -msgid "Copy parameter templates from selected part category" -msgstr "" - -#: templates/js/translated/part.js:120 +#: templates/js/translated/part.js:57 msgid "Part Duplication Options" msgstr "" -#: templates/js/translated/part.js:131 -msgid "Copy Image" +#: templates/js/translated/part.js:61 +msgid "Supplier Options" msgstr "" -#: templates/js/translated/part.js:132 -msgid "Copy image from original part" +#: templates/js/translated/part.js:75 +msgid "Add Part Category" msgstr "" -#: templates/js/translated/part.js:138 -msgid "Copy BOM" +#: templates/js/translated/part.js:159 +msgid "Create Initial Stock" msgstr "" -#: templates/js/translated/part.js:139 -msgid "Copy bill of materials from original part" +#: templates/js/translated/part.js:160 +msgid "Create an initial stock item for this part" msgstr "" -#: templates/js/translated/part.js:145 -msgid "Copy Parameters" +#: templates/js/translated/part.js:167 +msgid "Initial Stock Quantity" msgstr "" -#: templates/js/translated/part.js:146 -msgid "Copy parameter data from original part" +#: templates/js/translated/part.js:168 +msgid "Specify initial stock quantity for this part" msgstr "" -#: templates/js/translated/part.js:158 -msgid "Parent part category" +#: templates/js/translated/part.js:175 templates/js/translated/stock.js:330 +msgid "Select destination stock location" +msgstr "" + +#: templates/js/translated/part.js:186 +msgid "Copy Category Parameters" +msgstr "" + +#: templates/js/translated/part.js:187 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: templates/js/translated/part.js:195 +msgid "Add Supplier Data" msgstr "" #: templates/js/translated/part.js:196 +msgid "Create initial supplier data for this part" +msgstr "" + +#: templates/js/translated/part.js:252 +msgid "Copy Image" +msgstr "" + +#: templates/js/translated/part.js:253 +msgid "Copy image from original part" +msgstr "" + +#: templates/js/translated/part.js:260 +msgid "Copy BOM" +msgstr "" + +#: templates/js/translated/part.js:261 +msgid "Copy bill of materials from original part" +msgstr "" + +#: templates/js/translated/part.js:268 +msgid "Copy Parameters" +msgstr "" + +#: templates/js/translated/part.js:269 +msgid "Copy parameter data from original part" +msgstr "" + +#: templates/js/translated/part.js:282 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:323 msgid "Edit Part" msgstr "" -#: templates/js/translated/part.js:280 templates/js/translated/part.js:365 +#: templates/js/translated/part.js:408 templates/js/translated/part.js:493 msgid "Trackable part" msgstr "" -#: templates/js/translated/part.js:284 templates/js/translated/part.js:369 +#: templates/js/translated/part.js:412 templates/js/translated/part.js:497 msgid "Virtual part" msgstr "" -#: templates/js/translated/part.js:296 +#: templates/js/translated/part.js:424 msgid "Starred part" msgstr "" -#: templates/js/translated/part.js:300 +#: templates/js/translated/part.js:428 msgid "Salable part" msgstr "" -#: templates/js/translated/part.js:414 +#: templates/js/translated/part.js:543 msgid "No variants found" msgstr "" -#: templates/js/translated/part.js:601 templates/js/translated/part.js:840 +#: templates/js/translated/part.js:732 templates/js/translated/part.js:994 msgid "No parts found" msgstr "" -#: templates/js/translated/part.js:779 +#: templates/js/translated/part.js:921 msgid "No category" msgstr "" -#: templates/js/translated/part.js:797 -#: templates/js/translated/table_filters.js:337 +#: templates/js/translated/part.js:944 +#: templates/js/translated/table_filters.js:350 msgid "Low stock" msgstr "" -#: templates/js/translated/part.js:981 templates/js/translated/stock.js:1360 +#: templates/js/translated/part.js:1148 templates/js/translated/stock.js:1501 msgid "Path" msgstr "" -#: templates/js/translated/part.js:1024 +#: templates/js/translated/part.js:1191 msgid "No test templates matching query" msgstr "" -#: templates/js/translated/part.js:1075 templates/js/translated/stock.js:443 +#: templates/js/translated/part.js:1242 templates/js/translated/stock.js:514 msgid "Edit test result" msgstr "" -#: templates/js/translated/part.js:1076 templates/js/translated/stock.js:444 +#: templates/js/translated/part.js:1243 templates/js/translated/stock.js:515 msgid "Delete test result" msgstr "" -#: templates/js/translated/part.js:1082 +#: templates/js/translated/part.js:1249 msgid "This test is defined for a parent part" msgstr "" -#: templates/js/translated/part.js:1107 +#: templates/js/translated/part.js:1274 #, python-brace-format msgid "No ${human_name} information found" msgstr "" -#: templates/js/translated/part.js:1160 +#: templates/js/translated/part.js:1329 #, python-brace-format msgid "Edit ${human_name}" msgstr "" -#: templates/js/translated/part.js:1161 +#: templates/js/translated/part.js:1330 #, python-brace-format msgid "Delete ${human_name}" msgstr "" -#: templates/js/translated/part.js:1261 +#: templates/js/translated/part.js:1431 msgid "Single Price" msgstr "" -#: templates/js/translated/part.js:1280 +#: templates/js/translated/part.js:1450 msgid "Single Price Difference" msgstr "" -#: templates/js/translated/stock.js:9 +#: templates/js/translated/stock.js:66 msgid "Parent stock location" msgstr "" -#: templates/js/translated/stock.js:39 +#: templates/js/translated/stock.js:96 msgid "Export Stock" msgstr "" -#: templates/js/translated/stock.js:42 +#: templates/js/translated/stock.js:99 msgid "Format" msgstr "" -#: templates/js/translated/stock.js:43 +#: templates/js/translated/stock.js:100 msgid "Select file format" msgstr "" -#: templates/js/translated/stock.js:55 +#: templates/js/translated/stock.js:124 msgid "Include Sublocations" msgstr "" -#: templates/js/translated/stock.js:56 +#: templates/js/translated/stock.js:125 msgid "Include stock items in sublocations" msgstr "" -#: templates/js/translated/stock.js:98 +#: templates/js/translated/stock.js:167 msgid "Transfer Stock" msgstr "" -#: templates/js/translated/stock.js:99 +#: templates/js/translated/stock.js:168 msgid "Move" msgstr "" -#: templates/js/translated/stock.js:105 +#: templates/js/translated/stock.js:174 msgid "Count Stock" msgstr "" -#: templates/js/translated/stock.js:106 +#: templates/js/translated/stock.js:175 msgid "Count" msgstr "" -#: templates/js/translated/stock.js:110 +#: templates/js/translated/stock.js:179 msgid "Remove Stock" msgstr "" -#: templates/js/translated/stock.js:111 +#: templates/js/translated/stock.js:180 msgid "Take" msgstr "" -#: templates/js/translated/stock.js:115 +#: templates/js/translated/stock.js:184 msgid "Add Stock" msgstr "" -#: templates/js/translated/stock.js:116 users/models.py:190 +#: templates/js/translated/stock.js:185 users/models.py:190 msgid "Add" msgstr "" -#: templates/js/translated/stock.js:120 templates/stock_table.html:63 +#: templates/js/translated/stock.js:189 templates/stock_table.html:63 msgid "Delete Stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Quantity cannot be adjusted for serialized stock" msgstr "" -#: templates/js/translated/stock.js:209 +#: templates/js/translated/stock.js:278 msgid "Specify stock quantity" msgstr "" -#: templates/js/translated/stock.js:245 +#: templates/js/translated/stock.js:314 msgid "You must select at least one available stock item" msgstr "" -#: templates/js/translated/stock.js:261 -msgid "Select destination stock location" -msgstr "" - -#: templates/js/translated/stock.js:269 +#: templates/js/translated/stock.js:339 msgid "Stock transaction notes" msgstr "" -#: templates/js/translated/stock.js:406 +#: templates/js/translated/stock.js:477 msgid "PASS" msgstr "" -#: templates/js/translated/stock.js:408 +#: templates/js/translated/stock.js:479 msgid "FAIL" msgstr "" -#: templates/js/translated/stock.js:413 +#: templates/js/translated/stock.js:484 msgid "NO RESULT" msgstr "" -#: templates/js/translated/stock.js:439 +#: templates/js/translated/stock.js:510 msgid "Add test result" msgstr "" -#: templates/js/translated/stock.js:465 +#: templates/js/translated/stock.js:536 msgid "No test results found" msgstr "" -#: templates/js/translated/stock.js:513 +#: templates/js/translated/stock.js:584 msgid "Test Date" msgstr "" -#: templates/js/translated/stock.js:621 +#: templates/js/translated/stock.js:691 msgid "In production" msgstr "" -#: templates/js/translated/stock.js:625 +#: templates/js/translated/stock.js:695 msgid "Installed in Stock Item" msgstr "" -#: templates/js/translated/stock.js:633 +#: templates/js/translated/stock.js:703 msgid "Assigned to Sales Order" msgstr "" -#: templates/js/translated/stock.js:709 -msgid "No stock items matching query" -msgstr "" - -#: templates/js/translated/stock.js:729 -msgid "items" -msgstr "" - -#: templates/js/translated/stock.js:821 -msgid "batches" -msgstr "" - -#: templates/js/translated/stock.js:848 -msgid "locations" -msgstr "" - -#: templates/js/translated/stock.js:850 -msgid "Undefined location" -msgstr "" - -#: templates/js/translated/stock.js:951 +#: templates/js/translated/stock.js:865 msgid "Stock item is in production" msgstr "" -#: templates/js/translated/stock.js:956 +#: templates/js/translated/stock.js:870 msgid "Stock item assigned to sales order" msgstr "" -#: templates/js/translated/stock.js:959 +#: templates/js/translated/stock.js:873 msgid "Stock item assigned to customer" msgstr "" -#: templates/js/translated/stock.js:963 +#: templates/js/translated/stock.js:877 msgid "Stock item has expired" msgstr "" -#: templates/js/translated/stock.js:965 +#: templates/js/translated/stock.js:879 msgid "Stock item will expire soon" msgstr "" -#: templates/js/translated/stock.js:969 +#: templates/js/translated/stock.js:883 msgid "Stock item has been allocated" msgstr "" -#: templates/js/translated/stock.js:973 +#: templates/js/translated/stock.js:887 msgid "Stock item has been installed in another item" msgstr "" -#: templates/js/translated/stock.js:980 +#: templates/js/translated/stock.js:894 msgid "Stock item has been rejected" msgstr "" -#: templates/js/translated/stock.js:984 +#: templates/js/translated/stock.js:896 msgid "Stock item is lost" msgstr "" -#: templates/js/translated/stock.js:987 +#: templates/js/translated/stock.js:898 msgid "Stock item is destroyed" msgstr "" -#: templates/js/translated/stock.js:991 -#: templates/js/translated/table_filters.js:148 +#: templates/js/translated/stock.js:902 +#: templates/js/translated/table_filters.js:161 msgid "Depleted" msgstr "" -#: templates/js/translated/stock.js:1020 +#: templates/js/translated/stock.js:956 msgid "Stocktake" msgstr "" -#: templates/js/translated/stock.js:1073 +#: templates/js/translated/stock.js:1029 msgid "Supplier part not specified" msgstr "" -#: templates/js/translated/stock.js:1223 +#: templates/js/translated/stock.js:1067 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:1088 templates/js/translated/stock.js:1136 +msgid "items" +msgstr "" + +#: templates/js/translated/stock.js:1176 +msgid "batches" +msgstr "" + +#: templates/js/translated/stock.js:1203 +msgid "locations" +msgstr "" + +#: templates/js/translated/stock.js:1205 +msgid "Undefined location" +msgstr "" + +#: templates/js/translated/stock.js:1364 msgid "Stock Status" msgstr "" -#: templates/js/translated/stock.js:1238 +#: templates/js/translated/stock.js:1379 msgid "Set Stock Status" msgstr "" -#: templates/js/translated/stock.js:1252 +#: templates/js/translated/stock.js:1393 msgid "Select Status Code" msgstr "" -#: templates/js/translated/stock.js:1253 +#: templates/js/translated/stock.js:1394 msgid "Status code must be selected" msgstr "" -#: templates/js/translated/stock.js:1392 +#: templates/js/translated/stock.js:1533 msgid "Invalid date" msgstr "" -#: templates/js/translated/stock.js:1439 +#: templates/js/translated/stock.js:1580 msgid "Location no longer exists" msgstr "" -#: templates/js/translated/stock.js:1458 +#: templates/js/translated/stock.js:1599 msgid "Purchase order no longer exists" msgstr "" -#: templates/js/translated/stock.js:1477 +#: templates/js/translated/stock.js:1618 msgid "Customer no longer exists" msgstr "" -#: templates/js/translated/stock.js:1495 +#: templates/js/translated/stock.js:1636 msgid "Stock item no longer exists" msgstr "" -#: templates/js/translated/stock.js:1518 +#: templates/js/translated/stock.js:1659 msgid "Added" msgstr "" -#: templates/js/translated/stock.js:1526 +#: templates/js/translated/stock.js:1667 msgid "Removed" msgstr "" -#: templates/js/translated/stock.js:1570 +#: templates/js/translated/stock.js:1708 msgid "Edit tracking entry" msgstr "" -#: templates/js/translated/stock.js:1571 +#: templates/js/translated/stock.js:1709 msgid "Delete tracking entry" msgstr "" -#: templates/js/translated/stock.js:1715 +#: templates/js/translated/stock.js:1833 msgid "No installed items" msgstr "" -#: templates/js/translated/stock.js:1738 +#: templates/js/translated/stock.js:1856 msgid "Serial" msgstr "" -#: templates/js/translated/stock.js:1766 +#: templates/js/translated/stock.js:1884 msgid "Uninstall Stock Item" msgstr "" -#: templates/js/translated/table_filters.js:43 +#: templates/js/translated/table_filters.js:56 msgid "Trackable Part" msgstr "" -#: templates/js/translated/table_filters.js:47 +#: templates/js/translated/table_filters.js:60 msgid "Assembled Part" msgstr "" -#: templates/js/translated/table_filters.js:51 +#: templates/js/translated/table_filters.js:64 msgid "Validated" msgstr "" -#: templates/js/translated/table_filters.js:59 +#: templates/js/translated/table_filters.js:72 msgid "Allow Variant Stock" msgstr "" -#: templates/js/translated/table_filters.js:79 -#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:92 +#: templates/js/translated/table_filters.js:156 msgid "Include sublocations" msgstr "" -#: templates/js/translated/table_filters.js:80 +#: templates/js/translated/table_filters.js:93 msgid "Include locations" msgstr "" -#: templates/js/translated/table_filters.js:90 -#: templates/js/translated/table_filters.js:91 -#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:103 +#: templates/js/translated/table_filters.js:104 +#: templates/js/translated/table_filters.js:327 msgid "Include subcategories" msgstr "" -#: templates/js/translated/table_filters.js:101 -#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:114 +#: templates/js/translated/table_filters.js:191 msgid "Is Serialized" msgstr "" -#: templates/js/translated/table_filters.js:104 -#: templates/js/translated/table_filters.js:185 +#: templates/js/translated/table_filters.js:117 +#: templates/js/translated/table_filters.js:198 msgid "Serial number GTE" msgstr "" -#: templates/js/translated/table_filters.js:105 -#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:118 +#: templates/js/translated/table_filters.js:199 msgid "Serial number greater than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:108 -#: templates/js/translated/table_filters.js:189 +#: templates/js/translated/table_filters.js:121 +#: templates/js/translated/table_filters.js:202 msgid "Serial number LTE" msgstr "" -#: templates/js/translated/table_filters.js:109 -#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:122 +#: templates/js/translated/table_filters.js:203 msgid "Serial number less than or equal to" msgstr "" -#: templates/js/translated/table_filters.js:112 -#: templates/js/translated/table_filters.js:113 -#: templates/js/translated/table_filters.js:181 -#: templates/js/translated/table_filters.js:182 +#: templates/js/translated/table_filters.js:125 +#: templates/js/translated/table_filters.js:126 +#: templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:195 msgid "Serial number" msgstr "" -#: templates/js/translated/table_filters.js:117 -#: templates/js/translated/table_filters.js:199 +#: templates/js/translated/table_filters.js:130 +#: templates/js/translated/table_filters.js:212 msgid "Batch code" msgstr "" -#: templates/js/translated/table_filters.js:128 -#: templates/js/translated/table_filters.js:304 +#: templates/js/translated/table_filters.js:141 +#: templates/js/translated/table_filters.js:317 msgid "Active parts" msgstr "" -#: templates/js/translated/table_filters.js:129 +#: templates/js/translated/table_filters.js:142 msgid "Show stock for active parts" msgstr "" -#: templates/js/translated/table_filters.js:134 +#: templates/js/translated/table_filters.js:147 msgid "Part is an assembly" msgstr "" -#: templates/js/translated/table_filters.js:138 +#: templates/js/translated/table_filters.js:151 msgid "Is allocated" msgstr "" -#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:152 msgid "Item has been allocated" msgstr "" -#: templates/js/translated/table_filters.js:144 +#: templates/js/translated/table_filters.js:157 msgid "Include stock in sublocations" msgstr "" -#: templates/js/translated/table_filters.js:149 +#: templates/js/translated/table_filters.js:162 msgid "Show stock items which are depleted" msgstr "" -#: templates/js/translated/table_filters.js:154 +#: templates/js/translated/table_filters.js:167 msgid "Show items which are in stock" msgstr "" -#: templates/js/translated/table_filters.js:158 +#: templates/js/translated/table_filters.js:171 msgid "In Production" msgstr "" -#: templates/js/translated/table_filters.js:159 +#: templates/js/translated/table_filters.js:172 msgid "Show items which are in production" msgstr "" -#: templates/js/translated/table_filters.js:163 +#: templates/js/translated/table_filters.js:176 msgid "Include Variants" msgstr "" -#: templates/js/translated/table_filters.js:164 +#: templates/js/translated/table_filters.js:177 msgid "Include stock items for variant parts" msgstr "" -#: templates/js/translated/table_filters.js:168 +#: templates/js/translated/table_filters.js:181 msgid "Installed" msgstr "" -#: templates/js/translated/table_filters.js:169 +#: templates/js/translated/table_filters.js:182 msgid "Show stock items which are installed in another item" msgstr "" -#: templates/js/translated/table_filters.js:174 +#: templates/js/translated/table_filters.js:187 msgid "Show items which have been assigned to a customer" msgstr "" -#: templates/js/translated/table_filters.js:194 -#: templates/js/translated/table_filters.js:195 +#: templates/js/translated/table_filters.js:207 +#: templates/js/translated/table_filters.js:208 msgid "Stock status" msgstr "" -#: templates/js/translated/table_filters.js:203 +#: templates/js/translated/table_filters.js:216 msgid "Has purchase price" msgstr "" -#: templates/js/translated/table_filters.js:204 +#: templates/js/translated/table_filters.js:217 msgid "Show stock items which have a purchase price set" msgstr "" -#: templates/js/translated/table_filters.js:213 +#: templates/js/translated/table_filters.js:226 msgid "Show stock items which have expired" msgstr "" -#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:232 msgid "Show stock which is close to expiring" msgstr "" -#: templates/js/translated/table_filters.js:250 +#: templates/js/translated/table_filters.js:263 msgid "Build status" msgstr "" -#: templates/js/translated/table_filters.js:269 -#: templates/js/translated/table_filters.js:286 +#: templates/js/translated/table_filters.js:282 +#: templates/js/translated/table_filters.js:299 msgid "Order status" msgstr "" -#: templates/js/translated/table_filters.js:274 -#: templates/js/translated/table_filters.js:291 +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:304 msgid "Outstanding" msgstr "" -#: templates/js/translated/table_filters.js:315 +#: templates/js/translated/table_filters.js:328 msgid "Include parts in subcategories" msgstr "" -#: templates/js/translated/table_filters.js:319 +#: templates/js/translated/table_filters.js:332 msgid "Has IPN" msgstr "" -#: templates/js/translated/table_filters.js:320 +#: templates/js/translated/table_filters.js:333 msgid "Part has internal part number" msgstr "" -#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:338 msgid "Show active parts" msgstr "" -#: templates/js/translated/table_filters.js:333 +#: templates/js/translated/table_filters.js:346 msgid "Stock available" msgstr "" -#: templates/js/translated/table_filters.js:349 +#: templates/js/translated/table_filters.js:362 msgid "Starred" msgstr "" -#: templates/js/translated/table_filters.js:361 +#: templates/js/translated/table_filters.js:374 msgid "Purchasable" msgstr "" -#: templates/js/translated/tables.js:342 +#: templates/js/translated/tables.js:357 msgid "Loading data" msgstr "" -#: templates/js/translated/tables.js:345 +#: templates/js/translated/tables.js:360 msgid "rows per page" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "Showing" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "to" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "of" msgstr "" -#: templates/js/translated/tables.js:348 +#: templates/js/translated/tables.js:363 msgid "rows" msgstr "" -#: templates/js/translated/tables.js:354 +#: templates/js/translated/tables.js:369 msgid "No matching results" msgstr "" -#: templates/js/translated/tables.js:357 +#: templates/js/translated/tables.js:372 msgid "Hide/Show pagination" msgstr "" -#: templates/js/translated/tables.js:360 +#: templates/js/translated/tables.js:375 msgid "Refresh" msgstr "" -#: templates/js/translated/tables.js:363 +#: templates/js/translated/tables.js:378 msgid "Toggle" msgstr "" -#: templates/js/translated/tables.js:366 +#: templates/js/translated/tables.js:381 msgid "Columns" msgstr "" -#: templates/js/translated/tables.js:369 +#: templates/js/translated/tables.js:384 msgid "All" msgstr "" -#: templates/navbar.html:13 +#: templates/navbar.html:19 msgid "Toggle navigation" msgstr "" -#: templates/navbar.html:33 +#: templates/navbar.html:39 msgid "Buy" msgstr "" -#: templates/navbar.html:43 +#: templates/navbar.html:51 msgid "Sell" msgstr "" -#: templates/navbar.html:55 -msgid "Scan Barcode" -msgstr "" - -#: templates/navbar.html:77 users/models.py:39 +#: templates/navbar.html:87 users/models.py:39 msgid "Admin" msgstr "" -#: templates/navbar.html:79 +#: templates/navbar.html:89 msgid "Logout" msgstr "" -#: templates/navbar.html:81 templates/registration/login.html:89 +#: templates/navbar.html:91 templates/registration/login.html:89 msgid "Login" msgstr "" -#: templates/navbar.html:104 +#: templates/navbar.html:114 msgid "About InvenTree" msgstr "" diff --git a/InvenTree/part/templates/part/detail.html b/InvenTree/part/templates/part/detail.html index 6bad2bbbdf..d240b53601 100644 --- a/InvenTree/part/templates/part/detail.html +++ b/InvenTree/part/templates/part/detail.html @@ -667,6 +667,8 @@ }); onPanelLoad("test-templates", function() { + + // Load test template table loadPartTestTemplateTable( $("#test-template-table"), { @@ -677,11 +679,8 @@ } ); + // Callback for "add test template" button $("#add-test-template").click(function() { - - function reloadTestTemplateTable() { - $("#test-template-table").bootstrapTable("refresh"); - } constructForm('{% url "api-part-test-template-list" %}', { method: 'POST', @@ -697,39 +696,10 @@ } }, title: '{% trans "Add Test Result Template" %}', - onSuccess: reloadTestTemplateTable + onSuccess: function() { + $("#test-template-table").bootstrapTable("refresh"); + } }); - - $("#test-template-table").on('click', '.button-test-edit', function() { - var pk = $(this).attr('pk'); - - var url = `/api/part/test-template/${pk}/`; - - constructForm(url, { - fields: { - test_name: {}, - description: {}, - required: {}, - requires_value: {}, - requires_attachment: {}, - }, - title: '{% trans "Edit Test Result Template" %}', - onSuccess: reloadTestTemplateTable, - }); - }); - - $("#test-template-table").on('click', '.button-test-delete', function() { - var pk = $(this).attr('pk'); - - var url = `/api/part/test-template/${pk}/`; - - constructForm(url, { - method: 'DELETE', - title: '{% trans "Delete Test Result Template" %}', - onSuccess: reloadTestTemplateTable, - }); - }); - }); }); diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index 3b88deb504..ce4ead853a 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -136,6 +136,21 @@ def inventree_version(*args, **kwargs): return version.inventreeVersion() +@register.simple_tag() +def inventree_is_development(*args, **kwargs): + return version.isInvenTreeDevelopmentVersion() + + +@register.simple_tag() +def inventree_is_release(*args, **kwargs): + return not version.isInvenTreeDevelopmentVersion() + + +@register.simple_tag() +def inventree_docs_version(*args, **kwargs): + return version.inventreeDocsVersion() + + @register.simple_tag() def inventree_api_version(*args, **kwargs): """ Return InvenTree API version """ @@ -169,7 +184,10 @@ def inventree_github_url(*args, **kwargs): @register.simple_tag() def inventree_docs_url(*args, **kwargs): """ Return URL for InvenTree documenation site """ - return "https://inventree.readthedocs.io/" + + tag = version.inventreeDocsVersion() + + return f"https://inventree.readthedocs.io/en/{tag}" @register.simple_tag() diff --git a/InvenTree/templates/about.html b/InvenTree/templates/about.html index 0750b9711a..aaa14adce5 100644 --- a/InvenTree/templates/about.html +++ b/InvenTree/templates/about.html @@ -22,13 +22,39 @@ {% trans "InvenTree Version" %} {% inventree_version %}{% include "clip.html" %} + {% inventree_is_development as dev %} + {% if dev %} + {% trans "Development Version" %} + {% else %} {% if up_to_date %} {% trans "Up to Date" %} {% else %} {% trans "Update Available" %} {% endif %} + {% endif %} + {% if dev %} + {% inventree_commit_hash as hash %} + {% if hash %} + + + {% trans "Commit Hash" %}{{ hash }}{% include "clip.html" %} + + {% endif %} + {% inventree_commit_date as commit_date %} + {% if commit_date %} + + + {% trans "Commit Date" %}{{ commit_date }}{% include "clip.html" %} + + {% endif %} + {% endif %} + + + {% trans "InvenTree Documentation" %} + {% inventree_docs_url %} + {% trans "API Version" %} @@ -44,25 +70,6 @@ {% trans "Django Version" %} {% django_version %}{% include "clip.html" %} - {% inventree_commit_hash as hash %} - {% if hash %} - - - {% trans "Commit Hash" %}{{ hash }}{% include "clip.html" %} - - {% endif %} - {% inventree_commit_date as commit_date %} - {% if commit_date %} - - - {% trans "Commit Date" %}{{ commit_date }}{% include "clip.html" %} - - {% endif %} - - - {% trans "InvenTree Documentation" %} - {% inventree_docs_url %} - {% trans "View Code on GitHub" %} diff --git a/InvenTree/templates/js/translated/modals.js b/InvenTree/templates/js/translated/modals.js index 5195c67b46..96e41fd6ec 100644 --- a/InvenTree/templates/js/translated/modals.js +++ b/InvenTree/templates/js/translated/modals.js @@ -793,14 +793,25 @@ function attachSecondaries(modal, secondaries) { function insertActionButton(modal, options) { /* Insert a custom submission button */ - var html = ` - - - `; + var element = $(modal).find('#modal-footer-buttons'); - $(modal).find('#modal-footer-buttons').append(html); + // check if button already present + var already_present = false; + for (var child=element[0].firstElementChild; child; child=child.nextElementSibling) { + if (item.firstElementChild.name == options.name) { + already_present = true; + } + } + + if (already_present == false) { + var html = ` + + + `; + element.append(html); + } } function attachButtons(modal, buttons) { diff --git a/InvenTree/templates/js/translated/part.js b/InvenTree/templates/js/translated/part.js index 1ccf8157b6..8cae5d249b 100644 --- a/InvenTree/templates/js/translated/part.js +++ b/InvenTree/templates/js/translated/part.js @@ -1252,7 +1252,43 @@ function loadPartTestTemplateTable(table, options) { } } } - ] + ], + onPostBody: function() { + + table.find('.button-test-edit').click(function() { + var pk = $(this).attr('pk'); + + var url = `/api/part/test-template/${pk}/`; + + constructForm(url, { + fields: { + test_name: {}, + description: {}, + required: {}, + requires_value: {}, + requires_attachment: {}, + }, + title: '{% trans "Edit Test Result Template" %}', + onSuccess: function() { + table.bootstrapTable('refresh'); + }, + }); + }); + + table.find('.button-test-delete').click(function() { + var pk = $(this).attr('pk'); + + var url = `/api/part/test-template/${pk}/`; + + constructForm(url, { + method: 'DELETE', + title: '{% trans "Delete Test Result Template" %}', + onSuccess: function() { + table.bootstrapTable('refresh'); + }, + }); + }); + } }); } diff --git a/ci/check_version_number.py b/ci/check_version_number.py index 55a42e2484..ca2dbd71c7 100644 --- a/ci/check_version_number.py +++ b/ci/check_version_number.py @@ -27,12 +27,61 @@ if __name__ == '__main__': version = results[0] parser = argparse.ArgumentParser() - parser.add_argument('tag', help='Version tag', action='store') + parser.add_argument('-t', '--tag', help='Compare against specified version tag', action='store') + parser.add_argument('-r', '--release', help='Check that this is a release version', action='store_true') + parser.add_argument('-d', '--dev', help='Check that this is a development version', action='store_true') + parser.add_argument('-b', '--branch', help='Check against a particular branch', action='store') args = parser.parse_args() - if not args.tag == version: - print(f"Release tag '{args.tag}' does not match INVENTREE_SW_VERSION '{version}'") - sys.exit(1) + if args.branch: + """ + Version number requirement depends on format of branch + + 'master': development branch + 'stable': release branch + """ + + print(f"Checking version number for branch '{args.branch}'") + + if args.branch == 'master': + print("- This is a development branch") + args.dev = True + elif args.branch == 'stable': + print("- This is a stable release branch") + args.release = True + + if args.dev: + """ + Check that the current verrsion number matches the "development" format + e.g. "0.5 dev" + """ + + pattern = "^\d+(\.\d+)+ dev$" + + result = re.match(pattern, version) + + if result is None: + print(f"Version number '{version}' does not match required pattern for development branch") + sys.exit(1) + + elif args.release: + """ + Check that the current version number matches the "release" format + e.g. "0.5.1" + """ + + pattern = "^\d+(\.\d+)+$" + + result = re.match(pattern, version) + + if result is None: + print(f"Version number '{version}' does not match required pattern for stable branch") + sys.exit(1) + + if args.tag: + if not args.tag == version: + print(f"Release tag '{args.tag}' does not match INVENTREE_SW_VERSION '{version}'") + sys.exit(1) sys.exit(0) \ No newline at end of file