diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 0a6bdd5b8f..a49b39349f 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -24,7 +24,12 @@ updates: schedule: interval: weekly - - package-ecosystem: npm + - package-ecosystem: pip + directory: /.github + schedule: + interval: weekly + + - package-ecosystem: pip directory: /src/backend schedule: interval: weekly @@ -33,7 +38,7 @@ updates: patterns: - "*" # Include all dependencies - - package-ecosystem: pip + - package-ecosystem: npm directory: /src/backend schedule: interval: weekly diff --git a/.github/requirements.in b/.github/requirements.in index 5d479962c1..fe183bbb22 100644 --- a/.github/requirements.in +++ b/.github/requirements.in @@ -1,3 +1,4 @@ -# Packages needed for CI - requests==2.31.0 - pyyaml==6.0.1 +# Packages needed for CI/packages +requests==2.31.0 +pyyaml==6.0.1 +jc==1.25.2 diff --git a/.github/requirements.txt b/.github/requirements.txt index 73856016a7..5729dce9e3 100644 --- a/.github/requirements.txt +++ b/.github/requirements.txt @@ -100,6 +100,13 @@ idna==3.7 \ --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \ --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0 # via requests +jc==1.25.2 \ + --hash=sha256:26e412a65a478f9da3097653db6277f915cfae5c0f0a3f42026b405936abd358 \ + --hash=sha256:97ada193495f79550f06fe0cbfb119ff470bcca57c1cc593a5cdb0008720e0b3 +pygments==2.17.2 \ + --hash=sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c \ + --hash=sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367 + # via jc pyyaml==6.0.1 \ --hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \ --hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \ @@ -155,7 +162,67 @@ pyyaml==6.0.1 \ requests==2.31.0 \ --hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \ --hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1 +ruamel-yaml==0.18.6 \ + --hash=sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636 \ + --hash=sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b + # via jc +ruamel-yaml-clib==0.2.8 \ + --hash=sha256:024cfe1fc7c7f4e1aff4a81e718109e13409767e4f871443cbff3dba3578203d \ + --hash=sha256:03d1162b6d1df1caa3a4bd27aa51ce17c9afc2046c31b0ad60a0a96ec22f8001 \ + --hash=sha256:07238db9cbdf8fc1e9de2489a4f68474e70dffcb32232db7c08fa61ca0c7c462 \ + --hash=sha256:09b055c05697b38ecacb7ac50bdab2240bfca1a0c4872b0fd309bb07dc9aa3a9 \ + --hash=sha256:1707814f0d9791df063f8c19bb51b0d1278b8e9a2353abbb676c2f685dee6afe \ + --hash=sha256:1758ce7d8e1a29d23de54a16ae867abd370f01b5a69e1a3ba75223eaa3ca1a1b \ + --hash=sha256:184565012b60405d93838167f425713180b949e9d8dd0bbc7b49f074407c5a8b \ + --hash=sha256:1b617618914cb00bf5c34d4357c37aa15183fa229b24767259657746c9077615 \ + --hash=sha256:1dc67314e7e1086c9fdf2680b7b6c2be1c0d8e3a8279f2e993ca2a7545fecf62 \ + --hash=sha256:25ac8c08322002b06fa1d49d1646181f0b2c72f5cbc15a85e80b4c30a544bb15 \ + --hash=sha256:25c515e350e5b739842fc3228d662413ef28f295791af5e5110b543cf0b57d9b \ + --hash=sha256:305889baa4043a09e5b76f8e2a51d4ffba44259f6b4c72dec8ca56207d9c6fe1 \ + --hash=sha256:3213ece08ea033eb159ac52ae052a4899b56ecc124bb80020d9bbceeb50258e9 \ + --hash=sha256:3f215c5daf6a9d7bbed4a0a4f760f3113b10e82ff4c5c44bec20a68c8014f675 \ + --hash=sha256:46d378daaac94f454b3a0e3d8d78cafd78a026b1d71443f4966c696b48a6d899 \ + --hash=sha256:4ecbf9c3e19f9562c7fdd462e8d18dd902a47ca046a2e64dba80699f0b6c09b7 \ + --hash=sha256:53a300ed9cea38cf5a2a9b069058137c2ca1ce658a874b79baceb8f892f915a7 \ + --hash=sha256:56f4252222c067b4ce51ae12cbac231bce32aee1d33fbfc9d17e5b8d6966c312 \ + --hash=sha256:5c365d91c88390c8d0a8545df0b5857172824b1c604e867161e6b3d59a827eaa \ + --hash=sha256:700e4ebb569e59e16a976857c8798aee258dceac7c7d6b50cab63e080058df91 \ + --hash=sha256:75e1ed13e1f9de23c5607fe6bd1aeaae21e523b32d83bb33918245361e9cc51b \ + --hash=sha256:77159f5d5b5c14f7c34073862a6b7d34944075d9f93e681638f6d753606c6ce6 \ + --hash=sha256:7f67a1ee819dc4562d444bbafb135832b0b909f81cc90f7aa00260968c9ca1b3 \ + --hash=sha256:840f0c7f194986a63d2c2465ca63af8ccbbc90ab1c6001b1978f05119b5e7334 \ + --hash=sha256:84b554931e932c46f94ab306913ad7e11bba988104c5cff26d90d03f68258cd5 \ + --hash=sha256:87ea5ff66d8064301a154b3933ae406b0863402a799b16e4a1d24d9fbbcbe0d3 \ + --hash=sha256:955eae71ac26c1ab35924203fda6220f84dce57d6d7884f189743e2abe3a9fbe \ + --hash=sha256:a1a45e0bb052edf6a1d3a93baef85319733a888363938e1fc9924cb00c8df24c \ + --hash=sha256:a5aa27bad2bb83670b71683aae140a1f52b0857a2deff56ad3f6c13a017a26ed \ + --hash=sha256:a6a9ffd280b71ad062eae53ac1659ad86a17f59a0fdc7699fd9be40525153337 \ + --hash=sha256:a75879bacf2c987c003368cf14bed0ffe99e8e85acfa6c0bfffc21a090f16880 \ + --hash=sha256:aa2267c6a303eb483de8d02db2871afb5c5fc15618d894300b88958f729ad74f \ + --hash=sha256:aab7fd643f71d7946f2ee58cc88c9b7bfc97debd71dcc93e03e2d174628e7e2d \ + --hash=sha256:b16420e621d26fdfa949a8b4b47ade8810c56002f5389970db4ddda51dbff248 \ + --hash=sha256:b42169467c42b692c19cf539c38d4602069d8c1505e97b86387fcf7afb766e1d \ + --hash=sha256:bba64af9fa9cebe325a62fa398760f5c7206b215201b0ec825005f1b18b9bccf \ + --hash=sha256:beb2e0404003de9a4cab9753a8805a8fe9320ee6673136ed7f04255fe60bb512 \ + --hash=sha256:bef08cd86169d9eafb3ccb0a39edb11d8e25f3dae2b28f5c52fd997521133069 \ + --hash=sha256:c2a72e9109ea74e511e29032f3b670835f8a59bbdc9ce692c5b4ed91ccf1eedb \ + --hash=sha256:c58ecd827313af6864893e7af0a3bb85fd529f862b6adbefe14643947cfe2942 \ + --hash=sha256:c69212f63169ec1cfc9bb44723bf2917cbbd8f6191a00ef3410f5a7fe300722d \ + --hash=sha256:cabddb8d8ead485e255fe80429f833172b4cadf99274db39abc080e068cbcc31 \ + --hash=sha256:d176b57452ab5b7028ac47e7b3cf644bcfdc8cacfecf7e71759f7f51a59e5c92 \ + --hash=sha256:da09ad1c359a728e112d60116f626cc9f29730ff3e0e7db72b9a2dbc2e4beed5 \ + --hash=sha256:e2b4c44b60eadec492926a7270abb100ef9f72798e18743939bdbf037aab8c28 \ + --hash=sha256:e79e5db08739731b0ce4850bed599235d601701d5694c36570a99a0c5ca41a9d \ + --hash=sha256:ebc06178e8821efc9692ea7544aa5644217358490145629914d8020042c24aa1 \ + --hash=sha256:edaef1c1200c4b4cb914583150dcaa3bc30e592e907c01117c08b13a07255ec2 \ + --hash=sha256:f481f16baec5290e45aebdc2a5168ebc6d35189ae6fea7a58787613a25f6e875 \ + --hash=sha256:fff3573c2db359f091e1589c3d7c5fc2f86f5bdb6f24252c2d8e539d4e45f412 + # via ruamel-yaml urllib3==2.2.1 \ --hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \ --hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19 # via requests +xmltodict==0.13.0 \ + --hash=sha256:341595a488e3e01a85a9d8911d8912fd922ede5fecc4dce437eb4b6c8d037e56 \ + --hash=sha256:aa89e8fd76320154a40d19a0df04a4695fb9dc5ba977cbb68ab3e4eb225e7852 + # via jc diff --git a/.github/workflows/check_translations.yaml b/.github/workflows/check_translations.yaml index 9565f1a6d8..e9a7aaccd8 100644 --- a/.github/workflows/check_translations.yaml +++ b/.github/workflows/check_translations.yaml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index 7c5b9d9384..6f7dd4db4e 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -39,19 +39,16 @@ jobs: docker: ${{ steps.filter.outputs.docker }} steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # pin@v3.0.2 id: filter with: filters: | docker: - .github/workflows/docker.yaml - - docker/** - - docker-compose.yml - - docker.dev.env - - Dockerfile - - InvenTree/settings.py - - requirements.txt + - contrib/container/** + - src/backend/InvenTree/InvenTree/settings.py + - src/backend/requirements.txt - tasks.py # Build the docker image @@ -69,7 +66,7 @@ jobs: steps: - name: Check out repo - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Set Up Python ${{ env.python_version }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5.1.0 with: @@ -124,7 +121,7 @@ jobs: uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # pin@v3.0.0 - name: Set up Docker Buildx if: github.event_name != 'pull_request' - uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # pin@v3.2.0 + uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # pin@v3.3.0 - name: Set up cosign if: github.event_name != 'pull_request' uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 # pin@v3.5.0 diff --git a/.github/workflows/qc_checks.yaml b/.github/workflows/qc_checks.yaml index 1b778950bb..6aa214e35e 100644 --- a/.github/workflows/qc_checks.yaml +++ b/.github/workflows/qc_checks.yaml @@ -40,7 +40,7 @@ jobs: force: ${{ steps.force.outputs.force }} steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # pin@v3.0.2 id: filter with: @@ -72,7 +72,7 @@ jobs: needs: ["pre-commit"] steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -94,7 +94,7 @@ jobs: if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.frontend == 'true' || needs.paths-filter.outputs.force == 'true' steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Set up Python ${{ env.python_version }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5.1.0 with: @@ -115,7 +115,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Set up Python ${{ env.python_version }} uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5.1.0 with: @@ -123,7 +123,7 @@ jobs: - name: Check Config run: | pip install --require-hashes -r .github/requirements.txt - pip install -r docs/requirements.txt + pip install --require-hashes -r docs/requirements.txt python docs/ci/check_mkdocs_config.py - name: Check Links uses: gaurav-nelson/github-action-markdown-link-check@5c5dfc0ac2e225883c0e5f03a85311ec2830d368 # v1 @@ -151,7 +151,7 @@ jobs: version: ${{ steps.version.outputs.version }} steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -161,7 +161,7 @@ jobs: - name: Export API Documentation run: invoke schema --ignore-warnings --filename src/backend/InvenTree/schema.yml - name: Upload schema - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # pin@v4.3.1 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # pin@v4.3.3 with: name: schema.yml path: src/backend/InvenTree/schema.yml @@ -201,12 +201,12 @@ jobs: version: ${{ needs.schema.outputs.version }} steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 with: repository: inventree/schema token: ${{ secrets.SCHEMA_PAT }} - name: Download schema artifact - uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4 + uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 with: name: schema.yml - name: Move schema to correct location @@ -238,7 +238,7 @@ jobs: INVENTREE_SITE_URL: http://127.0.0.1:12345 steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -261,21 +261,25 @@ jobs: coverage run -m unittest discover -s test/ coverage: - name: Tests - DB [SQLite] + Coverage + name: Tests - DB [SQLite] + Coverage ${{ matrix.python_version }} runs-on: ubuntu-20.04 needs: ["pre-commit", "paths-filter"] if: needs.paths-filter.outputs.server == 'true' || needs.paths-filter.outputs.force == 'true' continue-on-error: true # continue if a step fails so that coverage gets pushed + strategy: + matrix: + python_version: [3.9, 3.12] env: INVENTREE_DB_NAME: ./inventree.sqlite INVENTREE_DB_ENGINE: sqlite3 INVENTREE_PLUGINS_ENABLED: true GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + python_version: ${{ matrix.python_version }} steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -329,7 +333,7 @@ jobs: - 6379:6379 steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -373,7 +377,7 @@ jobs: - 3306:3306 steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -412,7 +416,7 @@ jobs: - 5432:5432 steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -443,7 +447,7 @@ jobs: INVENTREE_PLUGINS_ENABLED: false steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 name: Checkout Code - name: Environment Setup uses: ./.github/actions/setup @@ -500,7 +504,7 @@ jobs: VITE_COVERAGE: true steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -518,7 +522,7 @@ jobs: - name: Run Playwright tests id: tests run: cd src/frontend && npx nyc playwright test - - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # pin@v4 + - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # pin@v4 if: ${{ !cancelled() && steps.tests.outcome == 'failure' }} with: name: playwright-report @@ -541,7 +545,7 @@ jobs: timeout-minutes: 60 steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: @@ -554,7 +558,7 @@ jobs: run: | cd src/backend/InvenTree/web/static zip -r frontend-build.zip web/ web/.vite - - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # pin@v4.3.1 + - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # pin@v4.3.3 with: name: frontend-build path: src/backend/InvenTree/web/static/web diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 1a74ca3d68..18dc513d16 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -15,7 +15,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: Checkout Code - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Version Check run: | pip install --require-hashes -r .github/requirements.txt @@ -31,7 +31,7 @@ jobs: publish-build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml index 6db68c5d05..e860ac0b3e 100644 --- a/.github/workflows/scorecard.yaml +++ b/.github/workflows/scorecard.yaml @@ -32,7 +32,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4 with: persist-credentials: false @@ -59,7 +59,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1 + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 with: name: SARIF file path: results.sarif @@ -67,6 +67,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@df5a14dc28094dc936e103b37d749c6628682b60 # v3.25.0 + uses: github/codeql-action/upload-sarif@d39d31e687223d841ef683f52467bd88e9b21c14 # v3.25.3 with: sarif_file: results.sarif diff --git a/.github/workflows/translations.yaml b/.github/workflows/translations.yaml index c0438b60ea..d0d3c5a105 100644 --- a/.github/workflows/translations.yaml +++ b/.github/workflows/translations.yaml @@ -30,7 +30,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v4.1.1 + uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # pin@v4.1.4 - name: Environment Setup uses: ./.github/actions/setup with: diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0f8057da83..6cace6d147 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -41,6 +41,14 @@ repos: name: pip-compile requirements.txt args: [.github/requirements.in, -o, .github/requirements.txt,--python-version=3.9, --no-strip-extras, --generate-hashes] files: .github/requirements\.(in|txt)$ + - id: pip-compile + name: pip-compile requirements.txt + args: [docs/requirements.in, -o, docs/requirements.txt,--python-version=3.9, --no-strip-extras, --generate-hashes] + files: docs/requirements\.(in|txt)$ + - id: pip-compile + name: pip-compile requirements.txt + args: [contrib/container/requirements.in, -o, contrib/container/requirements.txt,--python-version=3.11, --no-strip-extras, --generate-hashes] + files: contrib/container/requirements\.(in|txt)$ - repo: https://github.com/Riverside-Healthcare/djLint rev: v1.34.1 hooks: @@ -84,3 +92,7 @@ repos: # rev: 3.0.0 # hooks: # - id: shellcheck +- repo: https://github.com/isidentical/teyit + rev: 0.4.3 + hooks: + - id: teyit diff --git a/contrib/container/Dockerfile b/contrib/container/Dockerfile index 3b1783a27e..2d8931c943 100644 --- a/contrib/container/Dockerfile +++ b/contrib/container/Dockerfile @@ -97,14 +97,14 @@ FROM inventree_base AS prebuild ENV PATH=/root/.local/bin:$PATH RUN ./install_build_packages.sh --no-cache --virtual .build-deps && \ - pip install --user -r base_requirements.txt --no-cache && \ + pip install --user --require-hashes -r base_requirements.txt --no-cache && \ pip install --user --require-hashes -r requirements.txt --no-cache && \ apk --purge del .build-deps # Frontend builder image: FROM prebuild AS frontend -RUN apk add --no-cache --update nodejs npm && npm install -g yarn@v1.22.22 --ignore-scripts +RUN apk add --no-cache --update nodejs npm yarn RUN yarn config set network-timeout 600000 -g COPY src ${INVENTREE_HOME}/src COPY tasks.py ${INVENTREE_HOME}/tasks.py @@ -141,11 +141,11 @@ EXPOSE 5173 # Install packages required for building python packages RUN ./install_build_packages.sh -RUN pip install uv==0.1.26 --no-cache-dir && pip install -r base_requirements.txt --no-cache +RUN pip install --require-hashes -r base_requirements.txt --no-cache # Install nodejs / npm / yarn -RUN apk add --no-cache --update nodejs npm && npm install -g yarn@v1.22.22 --ignore-scripts +RUN apk add --no-cache --update nodejs npm yarn RUN yarn config set network-timeout 600000 -g # The development image requires the source code to be mounted to /home/inventree/ diff --git a/contrib/container/requirements.in b/contrib/container/requirements.in new file mode 100644 index 0000000000..47968937a5 --- /dev/null +++ b/contrib/container/requirements.in @@ -0,0 +1,22 @@ +# Base python requirements for docker containers + +# Basic package requirements +invoke>=2.2.0 # Invoke build tool +pyyaml>=6.0.1 +setuptools>=69.0.0 +wheel>=0.41.0 + +# Database links +psycopg[binary, pool] +mysqlclient>=2.2.0 +mariadb>=1.1.8 + +# gunicorn web server +gunicorn>=22.0.0 + +# LDAP required packages +django-auth-ldap # Django integration for ldap auth +python-ldap # LDAP auth support + +# Upgraded python package installer +uv diff --git a/contrib/container/requirements.txt b/contrib/container/requirements.txt index 47968937a5..b5956e2763 100644 --- a/contrib/container/requirements.txt +++ b/contrib/container/requirements.txt @@ -1,22 +1,220 @@ -# Base python requirements for docker containers - -# Basic package requirements -invoke>=2.2.0 # Invoke build tool -pyyaml>=6.0.1 -setuptools>=69.0.0 -wheel>=0.41.0 - -# Database links -psycopg[binary, pool] -mysqlclient>=2.2.0 -mariadb>=1.1.8 - -# gunicorn web server -gunicorn>=22.0.0 - -# LDAP required packages -django-auth-ldap # Django integration for ldap auth -python-ldap # LDAP auth support - -# Upgraded python package installer -uv +# This file was autogenerated by uv via the following command: +# uv pip compile contrib/container/requirements.in -o contrib/container/requirements.txt --python-version=3.11 --no-strip-extras --generate-hashes +asgiref==3.8.1 \ + --hash=sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47 \ + --hash=sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590 + # via django +django==4.2.11 \ + --hash=sha256:6e6ff3db2d8dd0c986b4eec8554c8e4f919b5c1ff62a5b4390c17aff2ed6e5c4 \ + --hash=sha256:ddc24a0a8280a0430baa37aff11f28574720af05888c62b7cfe71d219f4599d3 + # via django-auth-ldap +django-auth-ldap==4.8.0 \ + --hash=sha256:4b4b944f3c28bce362f33fb6e8db68429ed8fd8f12f0c0c4b1a4344a7ef225ce \ + --hash=sha256:604250938ddc9fda619f247c7a59b0b2f06e53a7d3f46a156f28aa30dd71a738 +gunicorn==22.0.0 \ + --hash=sha256:350679f91b24062c86e386e198a15438d53a7a8207235a78ba1b53df4c4378d9 \ + --hash=sha256:4a0b436239ff76fb33f11c07a16482c521a7e09c1ce3cc293c2330afe01bec63 +invoke==2.2.0 \ + --hash=sha256:6ea924cc53d4f78e3d98bc436b08069a03077e6f85ad1ddaa8a116d7dad15820 \ + --hash=sha256:ee6cbb101af1a859c7fe84f2a264c059020b0cb7fe3535f9424300ab568f6bd5 +mariadb==1.1.10 \ + --hash=sha256:03d6284ef713d1cad40146576a4cc2d6cbc1662060f2a0e59b174e1694521698 \ + --hash=sha256:1ce87971c02375236ff8933e6c593c748e7b2f2950b86eabfab4289fd250ea63 \ + --hash=sha256:1d81b22efbaaf4c5bc5e4cc4e2ef3c459538c1a939371089d8c5591d6f26a62e \ + --hash=sha256:29040e426f877ddc45f337c6eb381b6bbab63cc6bf8431a28effe30162142513 \ + --hash=sha256:4521aa721f926946bd71491f872e8babc78fa97755ed2114f5684b77363107cb \ + --hash=sha256:49200378c614984f5ec875481662a49d7c97c2be27970b01b32fa4b7520d4e22 \ + --hash=sha256:5d652117e2fdf12b9723e7452a05fce9e6ccbae6ea48871b21a3a8fde259dc48 \ + --hash=sha256:8c8c6b27486b0e1772a23002c702b5fd244eecf9f05633dd6cb345fc26755a20 \ + --hash=sha256:a332893e3ef7ceb7970ab4bd7c844bcb4bd68a051ca51313566f9808d7411f2d \ + --hash=sha256:d7b09ec4abd02ed235257feb769f90cd4066e8f536b55b92f5166103d5b66a63 \ + --hash=sha256:dff8b28ce4044574870d7bdd2d9f9f5da8e5f95a7ff6d226185db733060d1a93 +mysqlclient==2.2.4 \ + --hash=sha256:329e4eec086a2336fe3541f1ce095d87a6f169d1cc8ba7b04ac68bcb234c9711 \ + --hash=sha256:33bc9fb3464e7d7c10b1eaf7336c5ff8f2a3d3b88bab432116ad2490beb3bf41 \ + --hash=sha256:3c318755e06df599338dad7625f884b8a71fcf322a9939ef78c9b3db93e1de7a \ + --hash=sha256:4e80dcad884dd6e14949ac6daf769123223a52a6805345608bf49cdaf7bc8b3a \ + --hash=sha256:9d3310295cb682232cadc28abd172f406c718b9ada41d2371259098ae37779d3 \ + --hash=sha256:9d4c015480c4a6b2b1602eccd9846103fc70606244788d04aa14b31c4bd1f0e2 \ + --hash=sha256:ac44777eab0a66c14cb0d38965572f762e193ec2e5c0723bcd11319cc5b693c5 \ + --hash=sha256:d43987bb9626096a302ca6ddcdd81feaeca65ced1d5fe892a6a66b808326aa54 \ + --hash=sha256:e1ebe3f41d152d7cb7c265349fdb7f1eca86ccb0ca24a90036cde48e00ceb2ab +packaging==24.0 \ + --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ + --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 + # via + # gunicorn + # mariadb +psycopg[binary, pool]==3.1.18 \ + --hash=sha256:31144d3fb4c17d78094d9e579826f047d4af1da6a10427d91dfcfb6ecdf6f12b \ + --hash=sha256:4d5a0a5a8590906daa58ebd5f3cfc34091377354a1acced269dd10faf55da60e +psycopg-binary==3.1.18 \ + --hash=sha256:02bd4da45d5ee9941432e2e9bf36fa71a3ac21c6536fe7366d1bd3dd70d6b1e7 \ + --hash=sha256:0f68ac2364a50d4cf9bb803b4341e83678668f1881a253e1224574921c69868c \ + --hash=sha256:13bcd3742112446037d15e360b27a03af4b5afcf767f5ee374ef8f5dd7571b31 \ + --hash=sha256:1729d0e3dfe2546d823841eb7a3d003144189d6f5e138ee63e5227f8b75276a5 \ + --hash=sha256:1859aeb2133f5ecdd9cbcee155f5e38699afc06a365f903b1512c765fd8d457e \ + --hash=sha256:1c9b6bd7fb5c6638cb32469674707649b526acfe786ba6d5a78ca4293d87bae4 \ + --hash=sha256:247474af262bdd5559ee6e669926c4f23e9cf53dae2d34c4d991723c72196404 \ + --hash=sha256:258d2f0cb45e4574f8b2fe7c6d0a0e2eb58903a4fd1fbaf60954fba82d595ab7 \ + --hash=sha256:2e2484ae835dedc80cdc7f1b1a939377dc967fed862262cfd097aa9f50cade46 \ + --hash=sha256:320047e3d3554b857e16c2b6b615a85e0db6a02426f4d203a4594a2f125dfe57 \ + --hash=sha256:39242546383f6b97032de7af30edb483d237a0616f6050512eee7b218a2aa8ee \ + --hash=sha256:3c2b039ae0c45eee4cd85300ef802c0f97d0afc78350946a5d0ec77dd2d7e834 \ + --hash=sha256:3c7afcd6f1d55992f26d9ff7b0bd4ee6b475eb43aa3f054d67d32e09f18b0065 \ + --hash=sha256:3e4b0bb91da6f2238dbd4fbb4afc40dfb4f045bb611b92fce4d381b26413c686 \ + --hash=sha256:3e7ce4d988112ca6c75765c7f24c83bdc476a6a5ce00878df6c140ca32c3e16d \ + --hash=sha256:4085f56a8d4fc8b455e8f44380705c7795be5317419aa5f8214f315e4205d804 \ + --hash=sha256:4575da95fc441244a0e2ebaf33a2b2f74164603341d2046b5cde0a9aa86aa7e2 \ + --hash=sha256:489aa4fe5a0b653b68341e9e44af247dedbbc655326854aa34c163ef1bcb3143 \ + --hash=sha256:4e4de16a637ec190cbee82e0c2dc4860fed17a23a35f7a1e6dc479a5c6876722 \ + --hash=sha256:531381f6647fc267383dca88dbe8a70d0feff433a8e3d0c4939201fea7ae1b82 \ + --hash=sha256:55ff0948457bfa8c0d35c46e3a75193906d1c275538877ba65907fd67aa059ad \ + --hash=sha256:59701118c7d8842e451f1e562d08e8708b3f5d14974eefbce9374badd723c4ae \ + --hash=sha256:5c323103dfa663b88204cf5f028e83c77d7a715f9b6f51d2bbc8184b99ddd90a \ + --hash=sha256:5d6e860edf877d4413e4a807e837d55e3a7c7df701e9d6943c06e460fa6c058f \ + --hash=sha256:639dd78ac09b144b0119076783cb64e1128cc8612243e9701d1503c816750b2e \ + --hash=sha256:6432047b8b24ef97e3fbee1d1593a0faaa9544c7a41a2c67d1f10e7621374c83 \ + --hash=sha256:67284e2e450dc7a9e4d76e78c0bd357dc946334a3d410defaeb2635607f632cd \ + --hash=sha256:6ebecbf2406cd6875bdd2453e31067d1bd8efe96705a9489ef37e93b50dc6f09 \ + --hash=sha256:7121acc783c4e86d2d320a7fb803460fab158a7f0a04c5e8c5d49065118c1e73 \ + --hash=sha256:74e498586b72fb819ca8ea82107747d0cb6e00ae685ea6d1ab3f929318a8ce2d \ + --hash=sha256:780a90bcb69bf27a8b08bc35b958e974cb6ea7a04cdec69e737f66378a344d68 \ + --hash=sha256:7ac1785d67241d5074f8086705fa68e046becea27964267ab3abd392481d7773 \ + --hash=sha256:812726266ab96de681f2c7dbd6b734d327f493a78357fcc16b2ac86ff4f4e080 \ + --hash=sha256:824a1bfd0db96cc6bef2d1e52d9e0963f5bf653dd5bc3ab519a38f5e6f21c299 \ + --hash=sha256:87dd9154b757a5fbf6d590f6f6ea75f4ad7b764a813ae04b1d91a70713f414a1 \ + --hash=sha256:887f8d856c91510148be942c7acd702ccf761a05f59f8abc123c22ab77b5a16c \ + --hash=sha256:888a72c2aca4316ca6d4a619291b805677bae99bba2f6e31a3c18424a48c7e4d \ + --hash=sha256:8f54978c4b646dec77fefd8485fa82ec1a87807f334004372af1aaa6de9539a5 \ + --hash=sha256:91074f78a9f890af5f2c786691575b6b93a4967ad6b8c5a90101f7b8c1a91d9c \ + --hash=sha256:9d684227ef8212e27da5f2aff9d4d303cc30b27ac1702d4f6881935549486dd5 \ + --hash=sha256:9e24e7b6a68a51cc3b162d0339ae4e1263b253e887987d5c759652f5692b5efe \ + --hash=sha256:9ffcbbd389e486d3fd83d30107bbf8b27845a295051ccabde240f235d04ed921 \ + --hash=sha256:a87e9eeb80ce8ec8c2783f29bce9a50bbcd2e2342a340f159c3326bf4697afa1 \ + --hash=sha256:ad35ac7fd989184bf4d38a87decfb5a262b419e8ba8dcaeec97848817412c64a \ + --hash=sha256:b15e3653c82384b043d820fc637199b5c6a36b37fa4a4943e0652785bb2bad5d \ + --hash=sha256:b293e01057e63c3ac0002aa132a1071ce0fdb13b9ee2b6b45d3abdb3525c597d \ + --hash=sha256:b2f7f95746efd1be2dc240248cc157f4315db3fd09fef2adfcc2a76e24aa5741 \ + --hash=sha256:bd27f713f2e5ef3fd6796e66c1a5203a27a30ecb847be27a78e1df8a9a5ae68c \ + --hash=sha256:c38a4796abf7380f83b1653c2711cb2449dd0b2e5aca1caa75447d6fa5179c69 \ + --hash=sha256:c76659ae29a84f2c14f56aad305dd00eb685bd88f8c0a3281a9a4bc6bd7d2aa7 \ + --hash=sha256:c84a0174109f329eeda169004c7b7ca2e884a6305acab4a39600be67f915ed38 \ + --hash=sha256:cd2a9f7f0d4dacc5b9ce7f0e767ae6cc64153264151f50698898c42cabffec0c \ + --hash=sha256:d322ba72cde4ca2eefc2196dad9ad7e52451acd2f04e3688d590290625d0c970 \ + --hash=sha256:d4422af5232699f14b7266a754da49dc9bcd45eba244cf3812307934cd5d6679 \ + --hash=sha256:d46ae44d66bf6058a812467f6ae84e4e157dee281bfb1cfaeca07dee07452e85 \ + --hash=sha256:da917f6df8c6b2002043193cb0d74cc173b3af7eb5800ad69c4e1fbac2a71c30 \ + --hash=sha256:dea4a59da7850192fdead9da888e6b96166e90608cf39e17b503f45826b16f84 \ + --hash=sha256:e05f6825f8db4428782135e6986fec79b139210398f3710ed4aa6ef41473c008 \ + --hash=sha256:e1cf59e0bb12e031a48bb628aae32df3d0c98fd6c759cb89f464b1047f0ca9c8 \ + --hash=sha256:e252d66276c992319ed6cd69a3ffa17538943954075051e992143ccbf6dc3d3e \ + --hash=sha256:e262398e5d51563093edf30612cd1e20fedd932ad0994697d7781ca4880cdc3d \ + --hash=sha256:e28ff8f3de7b56588c2a398dc135fd9f157d12c612bd3daa7e6ba9872337f6f5 \ + --hash=sha256:eea5f14933177ffe5c40b200f04f814258cc14b14a71024ad109f308e8bad414 \ + --hash=sha256:f876ebbf92db70125f6375f91ab4bc6b27648aa68f90d661b1fc5affb4c9731c \ + --hash=sha256:f8ff3bc08b43f36fdc24fedb86d42749298a458c4724fb588c4d76823ac39f54 + # via psycopg +psycopg-pool==3.2.1 \ + --hash=sha256:060b551d1b97a8d358c668be58b637780b884de14d861f4f5ecc48b7563aafb7 \ + --hash=sha256:6509a75c073590952915eddbba7ce8b8332a440a31e77bba69561483492829ad + # via psycopg +pyasn1==0.6.0 \ + --hash=sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c \ + --hash=sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473 + # via + # pyasn1-modules + # python-ldap +pyasn1-modules==0.4.0 \ + --hash=sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6 \ + --hash=sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b + # via python-ldap +python-ldap==3.4.4 \ + --hash=sha256:7edb0accec4e037797705f3a05cbf36a9fde50d08c8f67f2aef99a2628fab828 + # via django-auth-ldap +pyyaml==6.0.1 \ + --hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \ + --hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \ + --hash=sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df \ + --hash=sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741 \ + --hash=sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206 \ + --hash=sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27 \ + --hash=sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595 \ + --hash=sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62 \ + --hash=sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98 \ + --hash=sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696 \ + --hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \ + --hash=sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 \ + --hash=sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d \ + --hash=sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6 \ + --hash=sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867 \ + --hash=sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47 \ + --hash=sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486 \ + --hash=sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6 \ + --hash=sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3 \ + --hash=sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007 \ + --hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \ + --hash=sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 \ + --hash=sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c \ + --hash=sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735 \ + --hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \ + --hash=sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28 \ + --hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \ + --hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \ + --hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \ + --hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \ + --hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \ + --hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \ + --hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \ + --hash=sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0 \ + --hash=sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515 \ + --hash=sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c \ + --hash=sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c \ + --hash=sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924 \ + --hash=sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34 \ + --hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \ + --hash=sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859 \ + --hash=sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673 \ + --hash=sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54 \ + --hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \ + --hash=sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b \ + --hash=sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab \ + --hash=sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa \ + --hash=sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c \ + --hash=sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585 \ + --hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \ + --hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f +setuptools==69.5.1 \ + --hash=sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987 \ + --hash=sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32 +sqlparse==0.5.0 \ + --hash=sha256:714d0a4932c059d16189f58ef5411ec2287a4360f17cdd0edd2d09d4c5087c93 \ + --hash=sha256:c204494cd97479d0e39f28c93d46c0b2d5959c7b9ab904762ea6c7af211c8663 + # via django +typing-extensions==4.11.0 \ + --hash=sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0 \ + --hash=sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a + # via + # psycopg + # psycopg-pool +uv==0.1.38 \ + --hash=sha256:03242a734a572733f2b9a5dbb94517e918fe26fc01114b7c51d12296dfbb8f8b \ + --hash=sha256:067af2d986329db4fa3c7373017d49f0e16ddff23e483b7e5bc3a5a18ce08ea6 \ + --hash=sha256:0937ad16ae0e0b6bb6dd3c386f8fb33141ad08d1762eaacffb4d2b27fb466a17 \ + --hash=sha256:0e1d64ac437b0a14fbcec55b1c3f162fa24860711e0d855fcd9c672b149a122a \ + --hash=sha256:1be7aa46936c0351ccb1400ea95e5381b3f05fef772fa3b9f23af728cc175dea \ + --hash=sha256:309e73a3ec3a5a536a3efaf434270fc94b483069f1425765165c1c9d786c27fd \ + --hash=sha256:4251f9771d392d7badc1e5fb934b397b12ca00fef9d955207ade169cc1f7e872 \ + --hash=sha256:43772e7589f70e954b1ae29230e575ef9e4d8d769138a94dfa5ae7eaf1e26ac5 \ + --hash=sha256:4a6024256d38b77151e32876be9fcb99cf75df7a86b26e0161cc202bed558adf \ + --hash=sha256:5a98d6aacd4b57b7e00daf154919e7c9206fefdf40bd28cfb13efe0e0324d491 \ + --hash=sha256:8de6dbd8f348ee90af044f4cc7b6650521d25ba2d20a813c1e157a3f90069dd9 \ + --hash=sha256:9133e24db9bdd4f412eab69586d03294419825432a9a27ee1b510a4c01eb7b0b \ + --hash=sha256:92f65b6e4e5c8126501785af3629dc537d7c82caa56ac9336a86929c73d0e138 \ + --hash=sha256:afd85029923e712b6b2c45ddc1680c785392220876c766521e45778db3f71f8e \ + --hash=sha256:b0b15e51a0f8240969bc412ed0dd60cfe3f664b30173139ef263d71c596d631f \ + --hash=sha256:ea44c07605d1359a7d82bf42706dd86d341f15f4ca2e1f36e51626a7111c2ad5 \ + --hash=sha256:f87c9711493c53d32012a96b49c4d53aabdf7ed666cbf2c3fb55dd402a6b31a8 +wheel==0.43.0 \ + --hash=sha256:465ef92c69fa5c5da2d1cf8ac40559a8c940886afcef87dcf14b9470862f1d85 \ + --hash=sha256:55c570405f142630c6b9f72fe09d9b67cf1477fcf543ae5b8dcb1f5b7377da81 diff --git a/contrib/packager.io/functions.sh b/contrib/packager.io/functions.sh index 5b74029b9d..d150ed75b8 100755 --- a/contrib/packager.io/functions.sh +++ b/contrib/packager.io/functions.sh @@ -90,7 +90,7 @@ function detect_envs() { echo "# Using existing config file: ${INVENTREE_CONFIG_FILE}" # Install parser - pip install jc==1.25.2 -q + pip install -r ${APP_HOME}/.github/requirements.txt -q # Load config local CONF=$(cat ${INVENTREE_CONFIG_FILE} | jc --yaml) diff --git a/docs/README.md b/docs/README.md index 578afc13e8..99f221794f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,7 +12,7 @@ Run the following commands from the top-level project directory: ``` $ git clone https://github.com/inventree/inventree -$ pip install -r docs/requirements.txt +$ pip install --require-hashes -r docs/requirements.txt ``` ## Serve Locally diff --git a/docs/docs/start/config.md b/docs/docs/start/config.md index 7ce2e96784..6f76b2bccc 100644 --- a/docs/docs/start/config.md +++ b/docs/docs/start/config.md @@ -100,6 +100,7 @@ Depending on how your InvenTree installation is configured, you will need to pay | INVENTREE_USE_X_FORWARDED_HOST | use_x_forwarded_host | Use forwarded host header | False | | INVENTREE_USE_X_FORWARDED_PORT | use_x_forwarded_port | Use forwarded port header | False | | INVENTREE_CORS_ALLOW_CREDENTIALS | cors.allow_credentials | Allow cookies in cross-site requests | True | +| INVENTREE_SESSION_COOKIE_SECURE | session_cookie_secure | Enforce secure session cookies | False | ### Proxy Settings @@ -324,6 +325,7 @@ The logo and custom messages can be changed/set: | INVENTREE_CUSTOM_SPLASH | customize.splash | Path to custom splash screen in the static files directory | *Not specified* | | INVENTREE_CUSTOMIZE | customize.login_message | Custom message for login page | *Not specified* | | INVENTREE_CUSTOMIZE | customize.navbar_message | Custom message for navbar | *Not specified* | +| INVENTREE_CUSTOMIZE | customize.hide_pui_banner | Disable PUI banner | False | If you want to remove the InvenTree branding as far as possible from your end-user also check the [global server settings](../settings/global.md#server-settings). diff --git a/docs/docs/start/install.md b/docs/docs/start/install.md index 0067dac7a3..94b3bbb063 100644 --- a/docs/docs/start/install.md +++ b/docs/docs/start/install.md @@ -107,7 +107,7 @@ source ./env/bin/activate The Python packages required by the InvenTree server must be installed into the virtual environment. ``` -pip install -U -r src/requirements.txt +pip install --require-hashes -U -r src/backend/requirements.txt ``` This installs all required Python packages using pip package manager. It also creates a (default) database configuration file which needs to be edited to meet user needs before proceeding (see next step below). diff --git a/docs/requirements.in b/docs/requirements.in new file mode 100644 index 0000000000..303f8bb6f5 --- /dev/null +++ b/docs/requirements.in @@ -0,0 +1,8 @@ +mkdocs==1.6.0 +mkdocs-macros-plugin>=0.7,<2.0 +mkdocs-material>=9.0,<10.0 +mkdocs-git-revision-date-localized-plugin>=1.1,<2.0 +mkdocs-simple-hooks>=0.1,<1.0 +mkdocs-include-markdown-plugin +neoteroi-mkdocs +mkdocstrings[python]>=0.24.0 diff --git a/docs/requirements.txt b/docs/requirements.txt index 8b642f39da..22d1881939 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,8 +1,604 @@ -mkdocs==1.5.3 -mkdocs-macros-plugin>=0.7,<2.0 -mkdocs-material>=9.0,<10.0 -mkdocs-git-revision-date-localized-plugin>=1.1,<2.0 -mkdocs-simple-hooks>=0.1,<1.0 -mkdocs-include-markdown-plugin -neoteroi-mkdocs -mkdocstrings[python]>=0.24.0 +# This file was autogenerated by uv via the following command: +# uv pip compile docs/requirements.in -o docs/requirements.txt --python-version=3.9 --no-strip-extras --generate-hashes +anyio==4.3.0 \ + --hash=sha256:048e05d0f6caeed70d731f3db756d35dcc1f35747c8c403364a8332c630441b8 \ + --hash=sha256:f75253795a87df48568485fd18cdd2a3fa5c4f7c5be8e5e36637733fce06fed6 + # via httpx +babel==2.14.0 \ + --hash=sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363 \ + --hash=sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287 + # via + # mkdocs-git-revision-date-localized-plugin + # mkdocs-material +bracex==2.4 \ + --hash=sha256:a27eaf1df42cf561fed58b7a8f3fdf129d1ea16a81e1fadd1d17989bc6384beb \ + --hash=sha256:efdc71eff95eaff5e0f8cfebe7d01adf2c8637c8c92edaf63ef348c241a82418 + # via wcmatch +certifi==2024.2.2 \ + --hash=sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f \ + --hash=sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1 + # via + # httpcore + # httpx + # requests +charset-normalizer==3.3.2 \ + --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \ + --hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \ + --hash=sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786 \ + --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \ + --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \ + --hash=sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185 \ + --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \ + --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \ + --hash=sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519 \ + --hash=sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898 \ + --hash=sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269 \ + --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \ + --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \ + --hash=sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6 \ + --hash=sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8 \ + --hash=sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a \ + --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \ + --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \ + --hash=sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714 \ + --hash=sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2 \ + --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \ + --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \ + --hash=sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d \ + --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \ + --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \ + --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \ + --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \ + --hash=sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d \ + --hash=sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a \ + --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \ + --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \ + --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \ + --hash=sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0 \ + --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \ + --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \ + --hash=sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac \ + --hash=sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25 \ + --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \ + --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \ + --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \ + --hash=sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2 \ + --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \ + --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \ + --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \ + --hash=sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99 \ + --hash=sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c \ + --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \ + --hash=sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811 \ + --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \ + --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \ + --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \ + --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \ + --hash=sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04 \ + --hash=sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c \ + --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \ + --hash=sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458 \ + --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \ + --hash=sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99 \ + --hash=sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985 \ + --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \ + --hash=sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238 \ + --hash=sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f \ + --hash=sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d \ + --hash=sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796 \ + --hash=sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a \ + --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \ + --hash=sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8 \ + --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \ + --hash=sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5 \ + --hash=sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5 \ + --hash=sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711 \ + --hash=sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4 \ + --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \ + --hash=sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c \ + --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \ + --hash=sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4 \ + --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \ + --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \ + --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \ + --hash=sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c \ + --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \ + --hash=sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8 \ + --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \ + --hash=sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b \ + --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \ + --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \ + --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \ + --hash=sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33 \ + --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ + --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561 + # via requests +click==8.1.7 \ + --hash=sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28 \ + --hash=sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de + # via + # mkdocs + # mkdocstrings + # neoteroi-mkdocs +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via + # griffe + # mkdocs-material +essentials==1.1.5 \ + --hash=sha256:8736f738bb2c51d5069b2de2cf9146f7d402f25f9f95636781e59a422c908c46 \ + --hash=sha256:905fa4a69fcd2b2cf41ecc6cc65827e30c87ef91f3f5c71540bcc5e984fa8360 + # via essentials-openapi +essentials-openapi==1.0.9 \ + --hash=sha256:1431e98ef0a442f1919fd9833385bf44d832c355fd05919dc06d43d4da0f8ef4 \ + --hash=sha256:ebc46aac41c0b917a658f77caaa0ca93a6e4a4519de8a272f82c1538ccd5619f + # via neoteroi-mkdocs +exceptiongroup==1.2.1 \ + --hash=sha256:5258b9ed329c5bbdd31a309f53cbfb0b155341807f6ff7606a1e801a891b29ad \ + --hash=sha256:a4785e48b045528f5bfe627b6ad554ff32def154f42372786903b7abcfe1aa16 + # via anyio +ghp-import==2.1.0 \ + --hash=sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619 \ + --hash=sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343 + # via mkdocs +gitdb==4.0.11 \ + --hash=sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4 \ + --hash=sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b + # via gitpython +gitpython==3.1.43 \ + --hash=sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c \ + --hash=sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff + # via mkdocs-git-revision-date-localized-plugin +griffe==0.44.0 \ + --hash=sha256:34aee1571042f9bf00529bc715de4516fb6f482b164e90d030300601009e0223 \ + --hash=sha256:8a4471c469ba980b87c843f1168850ce39d0c1d0c7be140dca2480f76c8e5446 + # via mkdocstrings-python +h11==0.14.0 \ + --hash=sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d \ + --hash=sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761 + # via httpcore +httpcore==1.0.5 \ + --hash=sha256:34a38e2f9291467ee3b44e89dd52615370e152954ba21721378a87b2960f7a61 \ + --hash=sha256:421f18bac248b25d310f3cacd198d55b8e6125c107797b609ff9b7a6ba7991b5 + # via httpx +httpx==0.27.0 \ + --hash=sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5 \ + --hash=sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5 + # via neoteroi-mkdocs +idna==3.7 \ + --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \ + --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0 + # via + # anyio + # httpx + # requests +importlib-metadata==7.1.0 \ + --hash=sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570 \ + --hash=sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2 + # via + # markdown + # mkdocs + # mkdocs-get-deps + # mkdocstrings +jinja2==3.1.3 \ + --hash=sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa \ + --hash=sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90 + # via + # mkdocs + # mkdocs-macros-plugin + # mkdocs-material + # mkdocstrings + # neoteroi-mkdocs +markdown==3.6 \ + --hash=sha256:48f276f4d8cfb8ce6527c8f79e2ee29708508bf4d40aa410fbc3b4ee832c850f \ + --hash=sha256:ed4f41f6daecbeeb96e576ce414c41d2d876daa9a16cb35fa8ed8c2ddfad0224 + # via + # mkdocs + # mkdocs-autorefs + # mkdocs-material + # mkdocstrings + # pymdown-extensions +markdown-it-py==3.0.0 \ + --hash=sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1 \ + --hash=sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb + # via rich +markupsafe==2.1.5 \ + --hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \ + --hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \ + --hash=sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f \ + --hash=sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3 \ + --hash=sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532 \ + --hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \ + --hash=sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617 \ + --hash=sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df \ + --hash=sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4 \ + --hash=sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906 \ + --hash=sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f \ + --hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \ + --hash=sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8 \ + --hash=sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371 \ + --hash=sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2 \ + --hash=sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465 \ + --hash=sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52 \ + --hash=sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6 \ + --hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \ + --hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \ + --hash=sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2 \ + --hash=sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0 \ + --hash=sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029 \ + --hash=sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f \ + --hash=sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a \ + --hash=sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced \ + --hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \ + --hash=sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c \ + --hash=sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf \ + --hash=sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9 \ + --hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \ + --hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \ + --hash=sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3 \ + --hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \ + --hash=sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46 \ + --hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \ + --hash=sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a \ + --hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \ + --hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \ + --hash=sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5 \ + --hash=sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea \ + --hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \ + --hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \ + --hash=sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e \ + --hash=sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a \ + --hash=sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f \ + --hash=sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50 \ + --hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \ + --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \ + --hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \ + --hash=sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff \ + --hash=sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2 \ + --hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \ + --hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \ + --hash=sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf \ + --hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5 \ + --hash=sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5 \ + --hash=sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab \ + --hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd \ + --hash=sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68 + # via + # essentials-openapi + # jinja2 + # mkdocs + # mkdocs-autorefs + # mkdocstrings +mdurl==0.1.2 \ + --hash=sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8 \ + --hash=sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba + # via markdown-it-py +mergedeep==1.3.4 \ + --hash=sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8 \ + --hash=sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307 + # via + # mkdocs + # mkdocs-get-deps +mkdocs==1.6.0 \ + --hash=sha256:1eb5cb7676b7d89323e62b56235010216319217d4af5ddc543a91beb8d125ea7 \ + --hash=sha256:a73f735824ef83a4f3bcb7a231dcab23f5a838f88b7efc54a0eef5fbdbc3c512 + # via + # mkdocs-autorefs + # mkdocs-git-revision-date-localized-plugin + # mkdocs-include-markdown-plugin + # mkdocs-macros-plugin + # mkdocs-material + # mkdocs-simple-hooks + # mkdocstrings + # neoteroi-mkdocs +mkdocs-autorefs==1.0.1 \ + --hash=sha256:aacdfae1ab197780fb7a2dac92ad8a3d8f7ca8049a9cbe56a4218cd52e8da570 \ + --hash=sha256:f684edf847eced40b570b57846b15f0bf57fb93ac2c510450775dcf16accb971 + # via mkdocstrings +mkdocs-get-deps==0.2.0 \ + --hash=sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c \ + --hash=sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134 + # via mkdocs +mkdocs-git-revision-date-localized-plugin==1.2.4 \ + --hash=sha256:08fd0c6f33c8da9e00daf40f7865943113b3879a1c621b2bbf0fa794ffe997d3 \ + --hash=sha256:1f94eb510862ef94e982a2910404fa17a1657ecf29f45a07b0f438c00767fc85 +mkdocs-include-markdown-plugin==6.0.5 \ + --hash=sha256:ad10779cf0dc4ff180aaa0079163271877b3c2fd31e36d5579854fe1d4b0d1ae \ + --hash=sha256:db41aa1937a618afa3497616f457d4e51d9123b13b2034bb15505ff9ce061f86 +mkdocs-macros-plugin==1.0.5 \ + --hash=sha256:f60e26f711f5a830ddf1e7980865bf5c0f1180db56109803cdd280073c1a050a \ + --hash=sha256:fe348d75f01c911f362b6d998c57b3d85b505876dde69db924f2c512c395c328 +mkdocs-material==9.5.19 \ + --hash=sha256:7473e06e17e23af608a30ef583fdde8f36389dd3ef56b1d503eed54c89c9618c \ + --hash=sha256:ea96e150b6c95f5e4ffe47d78bb712c7bacdd91d2a0bec47f46b6fa0705a86ec +mkdocs-material-extensions==1.3.1 \ + --hash=sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443 \ + --hash=sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31 + # via mkdocs-material +mkdocs-simple-hooks==0.1.5 \ + --hash=sha256:dddbdf151a18723c9302a133e5cf79538be8eb9d274e8e07d2ac3ac34890837c \ + --hash=sha256:efeabdbb98b0850a909adee285f3404535117159d5cb3a34f541d6eaa644d50a +mkdocstrings[python]==0.25.0 \ + --hash=sha256:066986b3fb5b9ef2d37c4417255a808f7e63b40ff8f67f6cab8054d903fbc91d \ + --hash=sha256:df1b63f26675fcde8c1b77e7ea996cd2f93220b148e06455428f676f5dc838f1 + # via mkdocstrings-python +mkdocstrings-python==1.10.0 \ + --hash=sha256:71678fac657d4d2bb301eed4e4d2d91499c095fd1f8a90fa76422a87a5693828 \ + --hash=sha256:ba833fbd9d178a4b9d5cb2553a4df06e51dc1f51e41559a4d2398c16a6f69ecc + # via mkdocstrings +neoteroi-mkdocs==1.0.5 \ + --hash=sha256:1f3b372dee79269157361733c0f45b3a89189077078e0e3224d829a144ef3579 \ + --hash=sha256:29875ef444b08aec5619a384142e16f1b4e851465cab4e380fb2b8ae730fe046 +packaging==24.0 \ + --hash=sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5 \ + --hash=sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9 + # via mkdocs +paginate==0.5.6 \ + --hash=sha256:5e6007b6a9398177a7e1648d04fdd9f8c9766a1a945bceac82f1929e8c78af2d + # via mkdocs-material +pathspec==0.12.1 \ + --hash=sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08 \ + --hash=sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 + # via mkdocs +platformdirs==4.2.1 \ + --hash=sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf \ + --hash=sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1 + # via + # mkdocs-get-deps + # mkdocstrings +pygments==2.17.2 \ + --hash=sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c \ + --hash=sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367 + # via + # mkdocs-material + # rich +pymdown-extensions==10.8 \ + --hash=sha256:3539003ff0d5e219ba979d2dc961d18fcad5ac259e66c764482e8347b4c0503c \ + --hash=sha256:91ca336caf414e1e5e0626feca86e145de9f85a3921a7bcbd32890b51738c428 + # via + # mkdocs-material + # mkdocstrings +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 + # via + # ghp-import + # mkdocs-macros-plugin +pytz==2024.1 \ + --hash=sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812 \ + --hash=sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319 + # via mkdocs-git-revision-date-localized-plugin +pyyaml==6.0.1 \ + --hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \ + --hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \ + --hash=sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df \ + --hash=sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741 \ + --hash=sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206 \ + --hash=sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27 \ + --hash=sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595 \ + --hash=sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62 \ + --hash=sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98 \ + --hash=sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696 \ + --hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \ + --hash=sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 \ + --hash=sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d \ + --hash=sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6 \ + --hash=sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867 \ + --hash=sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47 \ + --hash=sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486 \ + --hash=sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6 \ + --hash=sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3 \ + --hash=sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007 \ + --hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \ + --hash=sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 \ + --hash=sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c \ + --hash=sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735 \ + --hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \ + --hash=sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28 \ + --hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \ + --hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \ + --hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \ + --hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \ + --hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \ + --hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \ + --hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \ + --hash=sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0 \ + --hash=sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515 \ + --hash=sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c \ + --hash=sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c \ + --hash=sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924 \ + --hash=sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34 \ + --hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \ + --hash=sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859 \ + --hash=sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673 \ + --hash=sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54 \ + --hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \ + --hash=sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b \ + --hash=sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab \ + --hash=sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa \ + --hash=sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c \ + --hash=sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585 \ + --hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \ + --hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f + # via + # essentials-openapi + # mkdocs + # mkdocs-get-deps + # mkdocs-macros-plugin + # pymdown-extensions + # pyyaml-env-tag +pyyaml-env-tag==0.1 \ + --hash=sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb \ + --hash=sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069 + # via mkdocs +regex==2024.4.16 \ + --hash=sha256:00169caa125f35d1bca6045d65a662af0202704489fada95346cfa092ec23f39 \ + --hash=sha256:03576e3a423d19dda13e55598f0fd507b5d660d42c51b02df4e0d97824fdcae3 \ + --hash=sha256:03e68f44340528111067cecf12721c3df4811c67268b897fbe695c95f860ac42 \ + --hash=sha256:0534b034fba6101611968fae8e856c1698da97ce2efb5c2b895fc8b9e23a5834 \ + --hash=sha256:08dea89f859c3df48a440dbdcd7b7155bc675f2fa2ec8c521d02dc69e877db70 \ + --hash=sha256:0a38d151e2cdd66d16dab550c22f9521ba79761423b87c01dae0a6e9add79c0d \ + --hash=sha256:0c8290b44d8b0af4e77048646c10c6e3aa583c1ca67f3b5ffb6e06cf0c6f0f89 \ + --hash=sha256:10188fe732dec829c7acca7422cdd1bf57d853c7199d5a9e96bb4d40db239c73 \ + --hash=sha256:1210365faba7c2150451eb78ec5687871c796b0f1fa701bfd2a4a25420482d26 \ + --hash=sha256:12f6a3f2f58bb7344751919a1876ee1b976fe08b9ffccb4bbea66f26af6017b9 \ + --hash=sha256:159dc4e59a159cb8e4e8f8961eb1fa5d58f93cb1acd1701d8aff38d45e1a84a6 \ + --hash=sha256:20b7a68444f536365af42a75ccecb7ab41a896a04acf58432db9e206f4e525d6 \ + --hash=sha256:23cff1b267038501b179ccbbd74a821ac4a7192a1852d1d558e562b507d46013 \ + --hash=sha256:2c72608e70f053643437bd2be0608f7f1c46d4022e4104d76826f0839199347a \ + --hash=sha256:3399dd8a7495bbb2bacd59b84840eef9057826c664472e86c91d675d007137f5 \ + --hash=sha256:34422d5a69a60b7e9a07a690094e824b66f5ddc662a5fc600d65b7c174a05f04 \ + --hash=sha256:370c68dc5570b394cbaadff50e64d705f64debed30573e5c313c360689b6aadc \ + --hash=sha256:3a1018e97aeb24e4f939afcd88211ace472ba566efc5bdf53fd8fd7f41fa7170 \ + --hash=sha256:3d5ac5234fb5053850d79dd8eb1015cb0d7d9ed951fa37aa9e6249a19aa4f336 \ + --hash=sha256:4313ab9bf6a81206c8ac28fdfcddc0435299dc88cad12cc6305fd0e78b81f9e4 \ + --hash=sha256:445ca8d3c5a01309633a0c9db57150312a181146315693273e35d936472df912 \ + --hash=sha256:479595a4fbe9ed8f8f72c59717e8cf222da2e4c07b6ae5b65411e6302af9708e \ + --hash=sha256:4918fd5f8b43aa7ec031e0fef1ee02deb80b6afd49c85f0790be1dc4ce34cb50 \ + --hash=sha256:4aba818dcc7263852aabb172ec27b71d2abca02a593b95fa79351b2774eb1d2b \ + --hash=sha256:4e819a806420bc010489f4e741b3036071aba209f2e0989d4750b08b12a9343f \ + --hash=sha256:4facc913e10bdba42ec0aee76d029aedda628161a7ce4116b16680a0413f658a \ + --hash=sha256:549c3584993772e25f02d0656ac48abdda73169fe347263948cf2b1cead622f3 \ + --hash=sha256:5c02fcd2bf45162280613d2e4a1ca3ac558ff921ae4e308ecb307650d3a6ee51 \ + --hash=sha256:5f580c651a72b75c39e311343fe6875d6f58cf51c471a97f15a938d9fe4e0d37 \ + --hash=sha256:62120ed0de69b3649cc68e2965376048793f466c5a6c4370fb27c16c1beac22d \ + --hash=sha256:6295004b2dd37b0835ea5c14a33e00e8cfa3c4add4d587b77287825f3418d310 \ + --hash=sha256:65436dce9fdc0aeeb0a0effe0839cb3d6a05f45aa45a4d9f9c60989beca78b9c \ + --hash=sha256:684008ec44ad275832a5a152f6e764bbe1914bea10968017b6feaecdad5736e0 \ + --hash=sha256:684e52023aec43bdf0250e843e1fdd6febbe831bd9d52da72333fa201aaa2335 \ + --hash=sha256:6cc38067209354e16c5609b66285af17a2863a47585bcf75285cab33d4c3b8df \ + --hash=sha256:6f2f017c5be19984fbbf55f8af6caba25e62c71293213f044da3ada7091a4455 \ + --hash=sha256:743deffdf3b3481da32e8a96887e2aa945ec6685af1cfe2bcc292638c9ba2f48 \ + --hash=sha256:7571f19f4a3fd00af9341c7801d1ad1967fc9c3f5e62402683047e7166b9f2b4 \ + --hash=sha256:7731728b6568fc286d86745f27f07266de49603a6fdc4d19c87e8c247be452af \ + --hash=sha256:785c071c982dce54d44ea0b79cd6dfafddeccdd98cfa5f7b86ef69b381b457d9 \ + --hash=sha256:78fddb22b9ef810b63ef341c9fcf6455232d97cfe03938cbc29e2672c436670e \ + --hash=sha256:7bb966fdd9217e53abf824f437a5a2d643a38d4fd5fd0ca711b9da683d452969 \ + --hash=sha256:7cbc5d9e8a1781e7be17da67b92580d6ce4dcef5819c1b1b89f49d9678cc278c \ + --hash=sha256:803b8905b52de78b173d3c1e83df0efb929621e7b7c5766c0843704d5332682f \ + --hash=sha256:80b696e8972b81edf0af2a259e1b2a4a661f818fae22e5fa4fa1a995fb4a40fd \ + --hash=sha256:81500ed5af2090b4a9157a59dbc89873a25c33db1bb9a8cf123837dcc9765047 \ + --hash=sha256:89ec7f2c08937421bbbb8b48c54096fa4f88347946d4747021ad85f1b3021b3c \ + --hash=sha256:8ba6745440b9a27336443b0c285d705ce73adb9ec90e2f2004c64d95ab5a7598 \ + --hash=sha256:8c91e1763696c0eb66340c4df98623c2d4e77d0746b8f8f2bee2c6883fd1fe18 \ + --hash=sha256:8d015604ee6204e76569d2f44e5a210728fa917115bef0d102f4107e622b08d5 \ + --hash=sha256:8d1f86f3f4e2388aa3310b50694ac44daefbd1681def26b4519bd050a398dc5a \ + --hash=sha256:8f83b6fd3dc3ba94d2b22717f9c8b8512354fd95221ac661784df2769ea9bba9 \ + --hash=sha256:8fc6976a3395fe4d1fbeb984adaa8ec652a1e12f36b56ec8c236e5117b585427 \ + --hash=sha256:904c883cf10a975b02ab3478bce652f0f5346a2c28d0a8521d97bb23c323cc8b \ + --hash=sha256:911742856ce98d879acbea33fcc03c1d8dc1106234c5e7d068932c945db209c0 \ + --hash=sha256:91797b98f5e34b6a49f54be33f72e2fb658018ae532be2f79f7c63b4ae225145 \ + --hash=sha256:95399831a206211d6bc40224af1c635cb8790ddd5c7493e0bd03b85711076a53 \ + --hash=sha256:956b58d692f235cfbf5b4f3abd6d99bf102f161ccfe20d2fd0904f51c72c4c66 \ + --hash=sha256:98c1165f3809ce7774f05cb74e5408cd3aa93ee8573ae959a97a53db3ca3180d \ + --hash=sha256:9ab40412f8cd6f615bfedea40c8bf0407d41bf83b96f6fc9ff34976d6b7037fd \ + --hash=sha256:9df1bfef97db938469ef0a7354b2d591a2d438bc497b2c489471bec0e6baf7c4 \ + --hash=sha256:a01fe2305e6232ef3e8f40bfc0f0f3a04def9aab514910fa4203bafbc0bb4682 \ + --hash=sha256:a70b51f55fd954d1f194271695821dd62054d949efd6368d8be64edd37f55c86 \ + --hash=sha256:a7ccdd1c4a3472a7533b0a7aa9ee34c9a2bef859ba86deec07aff2ad7e0c3b94 \ + --hash=sha256:b340cccad138ecb363324aa26893963dcabb02bb25e440ebdf42e30963f1a4e0 \ + --hash=sha256:b74586dd0b039c62416034f811d7ee62810174bb70dffcca6439f5236249eb09 \ + --hash=sha256:b9d320b3bf82a39f248769fc7f188e00f93526cc0fe739cfa197868633d44701 \ + --hash=sha256:ba2336d6548dee3117520545cfe44dc28a250aa091f8281d28804aa8d707d93d \ + --hash=sha256:ba8122e3bb94ecda29a8de4cf889f600171424ea586847aa92c334772d200331 \ + --hash=sha256:bd727ad276bb91928879f3aa6396c9a1d34e5e180dce40578421a691eeb77f47 \ + --hash=sha256:c21fc21a4c7480479d12fd8e679b699f744f76bb05f53a1d14182b31f55aac76 \ + --hash=sha256:c2d0e7cbb6341e830adcbfa2479fdeebbfbb328f11edd6b5675674e7a1e37730 \ + --hash=sha256:c2ef6f7990b6e8758fe48ad08f7e2f66c8f11dc66e24093304b87cae9037bb4a \ + --hash=sha256:c4ed75ea6892a56896d78f11006161eea52c45a14994794bcfa1654430984b22 \ + --hash=sha256:cccc79a9be9b64c881f18305a7c715ba199e471a3973faeb7ba84172abb3f317 \ + --hash=sha256:d0800631e565c47520aaa04ae38b96abc5196fe8b4aa9bd864445bd2b5848a7a \ + --hash=sha256:d2da13568eff02b30fd54fccd1e042a70fe920d816616fda4bf54ec705668d81 \ + --hash=sha256:d61ae114d2a2311f61d90c2ef1358518e8f05eafda76eaf9c772a077e0b465ec \ + --hash=sha256:d83c2bc678453646f1a18f8db1e927a2d3f4935031b9ad8a76e56760461105dd \ + --hash=sha256:dd5acc0a7d38fdc7a3a6fd3ad14c880819008ecb3379626e56b163165162cc46 \ + --hash=sha256:df79012ebf6f4efb8d307b1328226aef24ca446b3ff8d0e30202d7ebcb977a8c \ + --hash=sha256:e0a2df336d1135a0b3a67f3bbf78a75f69562c1199ed9935372b82215cddd6e2 \ + --hash=sha256:e2f142b45c6fed48166faeb4303b4b58c9fcd827da63f4cf0a123c3480ae11fb \ + --hash=sha256:e697e1c0238133589e00c244a8b676bc2cfc3ab4961318d902040d099fec7483 \ + --hash=sha256:e757d475953269fbf4b441207bb7dbdd1c43180711b6208e129b637792ac0b93 \ + --hash=sha256:e87ab229332ceb127a165612d839ab87795972102cb9830e5f12b8c9a5c1b508 \ + --hash=sha256:ea355eb43b11764cf799dda62c658c4d2fdb16af41f59bb1ccfec517b60bcb07 \ + --hash=sha256:ec7e0043b91115f427998febaa2beb82c82df708168b35ece3accb610b91fac1 \ + --hash=sha256:eeaa0b5328b785abc344acc6241cffde50dc394a0644a968add75fcefe15b9d4 \ + --hash=sha256:f2d80a6749724b37853ece57988b39c4e79d2b5fe2869a86e8aeae3bbeef9eb0 \ + --hash=sha256:fa454d26f2e87ad661c4f0c5a5fe4cf6aab1e307d1b94f16ffdfcb089ba685c0 \ + --hash=sha256:fb83cc090eac63c006871fd24db5e30a1f282faa46328572661c0a24a2323a08 \ + --hash=sha256:fd80d1280d473500d8086d104962a82d77bfbf2b118053824b7be28cd5a79ea5 + # via mkdocs-material +requests==2.31.0 \ + --hash=sha256:58cd2187c01e70e6e26505bca751777aa9f2ee0b7f4300988b709f44e013003f \ + --hash=sha256:942c5a758f98d790eaed1a29cb6eefc7ffb0d1cf7af05c3d2791656dbd6ad1e1 + # via mkdocs-material +rich==13.7.1 \ + --hash=sha256:4edbae314f59eb482f54e9e30bf00d33350aaa94f4bfcd4e9e3110e64d0d7222 \ + --hash=sha256:9be308cb1fe2f1f57d67ce99e95af38a1e2bc71ad9813b0e247cf7ffbcc3a432 + # via neoteroi-mkdocs +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via python-dateutil +smmap==5.0.1 \ + --hash=sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62 \ + --hash=sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da + # via gitdb +sniffio==1.3.1 \ + --hash=sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2 \ + --hash=sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc + # via + # anyio + # httpx +termcolor==2.4.0 \ + --hash=sha256:9297c0df9c99445c2412e832e882a7884038a25617c60cea2ad69488d4040d63 \ + --hash=sha256:aab9e56047c8ac41ed798fa36d892a37aca6b3e9159f3e0c24bc64a9b3ac7b7a + # via mkdocs-macros-plugin +typing-extensions==4.11.0 \ + --hash=sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0 \ + --hash=sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a + # via + # anyio + # mkdocstrings +urllib3==2.2.1 \ + --hash=sha256:450b20ec296a467077128bff42b73080516e71b56ff59a60a02bef2232c4fa9d \ + --hash=sha256:d0570876c61ab9e520d776c38acbbb5b05a776d3f9ff98a5c8fd5162a444cf19 + # via requests +watchdog==4.0.0 \ + --hash=sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257 \ + --hash=sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca \ + --hash=sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b \ + --hash=sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85 \ + --hash=sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b \ + --hash=sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19 \ + --hash=sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50 \ + --hash=sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92 \ + --hash=sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269 \ + --hash=sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f \ + --hash=sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c \ + --hash=sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b \ + --hash=sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87 \ + --hash=sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b \ + --hash=sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b \ + --hash=sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8 \ + --hash=sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c \ + --hash=sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3 \ + --hash=sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7 \ + --hash=sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605 \ + --hash=sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935 \ + --hash=sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b \ + --hash=sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927 \ + --hash=sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101 \ + --hash=sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07 \ + --hash=sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec \ + --hash=sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4 \ + --hash=sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245 \ + --hash=sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d + # via mkdocs +wcmatch==8.5.1 \ + --hash=sha256:24c19cedc92bc9c9e27f39db4e1824d72f95bd2cea32b254a47a45b1a1b227ed \ + --hash=sha256:c0088c7f6426cf6bf27e530e2b7b734031905f7e490475fd83c7c5008ab581b3 + # via mkdocs-include-markdown-plugin +zipp==3.18.1 \ + --hash=sha256:206f5a15f2af3dbaee80769fb7dc6f249695e940acca08dfb2a4769fe61e538b \ + --hash=sha256:2884ed22e7d8961de1c9a05142eb69a247f120291bc0206a00a7642f09b5b715 + # via importlib-metadata diff --git a/src/backend/InvenTree/InvenTree/locales.py b/src/backend/InvenTree/InvenTree/locales.py index d5c7391261..6234970ec4 100644 --- a/src/backend/InvenTree/InvenTree/locales.py +++ b/src/backend/InvenTree/InvenTree/locales.py @@ -45,6 +45,7 @@ LOCALES = [ ('sv', _('Swedish')), ('th', _('Thai')), ('tr', _('Turkish')), + ('uk', _('Ukrainian')), ('vi', _('Vietnamese')), ('zh-hans', _('Chinese (Simplified)')), ('zh-hant', _('Chinese (Traditional)')), diff --git a/src/backend/InvenTree/InvenTree/settings.py b/src/backend/InvenTree/InvenTree/settings.py index 7bda362b49..88d5af6ecb 100644 --- a/src/backend/InvenTree/InvenTree/settings.py +++ b/src/backend/InvenTree/InvenTree/settings.py @@ -1090,26 +1090,30 @@ if SITE_URL and SITE_URL not in CSRF_TRUSTED_ORIGINS: if DEBUG: for origin in [ 'http://localhost', - 'http://*.localhost' 'http://*localhost:8000', + 'http://*.localhost', + 'http://*localhost:8000', 'http://*localhost:5173', ]: if origin not in CSRF_TRUSTED_ORIGINS: CSRF_TRUSTED_ORIGINS.append(origin) -if not TESTING and len(CSRF_TRUSTED_ORIGINS) == 0: - if isInMainThread(): - # Server thread cannot run without CSRF_TRUSTED_ORIGINS - logger.error( - 'No CSRF_TRUSTED_ORIGINS specified. Please provide a list of trusted origins, or specify INVENTREE_SITE_URL' - ) - sys.exit(-1) +if ( + not TESTING and len(CSRF_TRUSTED_ORIGINS) == 0 and isInMainThread() +): # pragma: no cover + # Server thread cannot run without CSRF_TRUSTED_ORIGINS + logger.error( + 'No CSRF_TRUSTED_ORIGINS specified. Please provide a list of trusted origins, or specify INVENTREE_SITE_URL' + ) + sys.exit(-1) # Additional CSRF settings CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN' CSRF_COOKIE_NAME = 'csrftoken' CSRF_COOKIE_SAMESITE = 'Lax' -SESSION_COOKIE_SECURE = True SESSION_COOKIE_SAMESITE = 'Lax' +SESSION_COOKIE_SECURE = get_boolean_setting( + 'INVENTREE_SESSION_COOKIE_SECURE', 'session_cookie_secure', False +) USE_X_FORWARDED_HOST = get_boolean_setting( 'INVENTREE_USE_X_FORWARDED_HOST', diff --git a/src/backend/InvenTree/InvenTree/test_api.py b/src/backend/InvenTree/InvenTree/test_api.py index 58e18df2e5..ea1a6c5b4a 100644 --- a/src/backend/InvenTree/InvenTree/test_api.py +++ b/src/backend/InvenTree/InvenTree/test_api.py @@ -128,7 +128,7 @@ class APITests(InvenTreeAPITestCase): response = self.client.get(url, format='json') # Not logged in, so cannot access user role data - self.assertTrue(response.status_code in [401, 403]) + self.assertIn(response.status_code, [401, 403]) # Now log in! self.basicAuth() diff --git a/src/backend/InvenTree/InvenTree/tests.py b/src/backend/InvenTree/InvenTree/tests.py index 6f32995592..b0e3e075c2 100644 --- a/src/backend/InvenTree/InvenTree/tests.py +++ b/src/backend/InvenTree/InvenTree/tests.py @@ -1030,7 +1030,7 @@ class TestVersionNumber(TestCase): s = '.'.join([str(i) for i in v]) - self.assertTrue(s in version.inventreeVersion()) + self.assertIn(s, version.inventreeVersion()) def test_comparison(self): """Test direct comparison of version numbers.""" @@ -1039,10 +1039,10 @@ class TestVersionNumber(TestCase): v_c = version.inventreeVersionTuple('1.2.4') v_d = version.inventreeVersionTuple('2.0.0') - self.assertTrue(v_b > v_a) - self.assertTrue(v_c > v_b) - self.assertTrue(v_d > v_c) - self.assertTrue(v_d > v_a) + self.assertGreater(v_b, v_a) + self.assertGreater(v_c, v_b) + self.assertGreater(v_d, v_c) + self.assertGreater(v_d, v_a) def test_commit_info(self): """Test that the git commit information is extracted successfully.""" @@ -1505,7 +1505,7 @@ class MagicLoginTest(InvenTreeTestCase): self.assertEqual(mail.outbox[0].subject, '[InvenTree] Log in to the app') # Check that the token is in the email - self.assertTrue('http://testserver/api/email/login/' in mail.outbox[0].body) + self.assertIn('http://testserver/api/email/login/', mail.outbox[0].body) token = mail.outbox[0].body.split('/')[-1].split('\n')[0][8:] self.assertEqual(get_user(token), self.user) diff --git a/src/backend/InvenTree/InvenTree/unit_test.py b/src/backend/InvenTree/InvenTree/unit_test.py index 4ad2d68b7b..ea7b559511 100644 --- a/src/backend/InvenTree/InvenTree/unit_test.py +++ b/src/backend/InvenTree/InvenTree/unit_test.py @@ -397,7 +397,7 @@ class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): ): """Helper function to process and validate a downloaded csv file.""" # Check that the correct object type has been passed - self.assertTrue(isinstance(file_object, io.StringIO)) + self.assertIsInstance(file_object, io.StringIO) file_object.seek(0) @@ -435,3 +435,7 @@ class InvenTreeAPITestCase(ExchangeRateMixin, UserMixin, APITestCase): data.append(entry) return data + + def assertDictContainsSubset(self, a, b): + """Assert that dictionary 'a' is a subset of dictionary 'b'.""" + self.assertEqual(b, b | a) diff --git a/src/backend/InvenTree/build/test_api.py b/src/backend/InvenTree/build/test_api.py index 131dabaf3f..de8f0bbed8 100644 --- a/src/backend/InvenTree/build/test_api.py +++ b/src/backend/InvenTree/build/test_api.py @@ -247,7 +247,7 @@ class BuildTest(BuildAPITest): expected_code=400 ) - self.assertTrue('accept_unallocated' in response.data) + self.assertIn('accept_unallocated', response.data) # Accept unallocated stock self.post( @@ -934,7 +934,7 @@ class BuildOverallocationTest(BuildAPITest): {}, expected_code=400 ) - self.assertTrue('accept_overallocated' in response.data) + self.assertIn('accept_overallocated', response.data) # Check stock items have not reduced at all for si, oq, _ in self.state.values(): diff --git a/src/backend/InvenTree/common/tests.py b/src/backend/InvenTree/common/tests.py index 6a5b26766d..cc5ac61270 100644 --- a/src/backend/InvenTree/common/tests.py +++ b/src/backend/InvenTree/common/tests.py @@ -50,7 +50,7 @@ class SettingsTest(InvenTreeTestCase): # There should be two settings objects in the database settings = InvenTreeSetting.objects.all() - self.assertTrue(settings.count() >= 2) + self.assertGreaterEqual(settings.count(), 2) instance_name = InvenTreeSetting.objects.get(pk=1) self.assertEqual(instance_name.key, 'INVENTREE_INSTANCE') @@ -207,7 +207,7 @@ class SettingsTest(InvenTreeTestCase): - Ensure that every setting key is valid - Ensure that a validator is supplied """ - self.assertTrue(type(setting) is dict) + self.assertIs(type(setting), dict) name = setting.get('name', None) @@ -726,7 +726,7 @@ class TaskListApiTests(InvenTreeAPITestCase): response = self.get(url, expected_code=200) for task in response.data: - self.assertTrue(task['name'] == 'time.sleep') + self.assertEqual(task['name'], 'time.sleep') class WebhookMessageTests(TestCase): diff --git a/src/backend/InvenTree/company/models.py b/src/backend/InvenTree/company/models.py index b891b5b065..eea0aa511a 100644 --- a/src/backend/InvenTree/company/models.py +++ b/src/backend/InvenTree/company/models.py @@ -513,6 +513,7 @@ class ManufacturerPart( null=True, verbose_name=_('Link'), help_text=_('URL for external manufacturer part link'), + max_length=2000, ) description = models.CharField( @@ -829,6 +830,7 @@ class SupplierPart( null=True, verbose_name=_('Link'), help_text=_('URL for external supplier part link'), + max_length=2000, ) description = models.CharField( diff --git a/src/backend/InvenTree/company/test_api.py b/src/backend/InvenTree/company/test_api.py index 332292ca3c..65b55089a3 100644 --- a/src/backend/InvenTree/company/test_api.py +++ b/src/backend/InvenTree/company/test_api.py @@ -130,7 +130,7 @@ class CompanyTest(InvenTreeAPITestCase): expected_code=400, ) - self.assertTrue('currency' in response.data) + self.assertIn('currency', response.data) def test_company_active(self): """Test that the 'active' value and filter works.""" diff --git a/src/backend/InvenTree/config_template.yaml b/src/backend/InvenTree/config_template.yaml index e429aa2bea..8e4efeb54c 100644 --- a/src/backend/InvenTree/config_template.yaml +++ b/src/backend/InvenTree/config_template.yaml @@ -300,6 +300,7 @@ remote_login_header: HTTP_REMOTE_USER # hide_password_reset: true # logo: img/custom_logo.png # splash: img/custom_splash.jpg +# hide_pui_banner: true # Set enabled frontends # Use the environment variable INVENTREE_CLASSIC_FRONTEND diff --git a/src/backend/InvenTree/label/tests.py b/src/backend/InvenTree/label/tests.py index b4afce2216..62a84c6439 100644 --- a/src/backend/InvenTree/label/tests.py +++ b/src/backend/InvenTree/label/tests.py @@ -36,18 +36,18 @@ class LabelTest(InvenTreeAPITestCase): """Test that the default label templates are copied across.""" labels = StockItemLabel.objects.all() - self.assertTrue(labels.count() > 0) + self.assertGreater(labels.count(), 0) labels = StockLocationLabel.objects.all() - self.assertTrue(labels.count() > 0) + self.assertGreater(labels.count(), 0) def test_default_files(self): """Test that label files exist in the MEDIA directory.""" def test_subdir(ref_name): item_dir = settings.MEDIA_ROOT.joinpath('label', 'inventree', ref_name) - self.assertTrue(len([item_dir.iterdir()]) > 0) + self.assertGreater(len([item_dir.iterdir()]), 0) test_subdir('stockitem') test_subdir('stocklocation') diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 9cb1f78708..99147d1297 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Върнат" msgid "In Progress" msgstr "Изпълнява се" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index e846bd6b8d..ad74eac8f5 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -407,7 +407,7 @@ msgstr "Vyberte soubor k přiložení" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Neplatný výběr" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Vráceno" msgid "In Progress" msgstr "Zpracovává se" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Spotřební materiál" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Sledováno" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Přiděleno" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Referenční číslo objednávky" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Příkaz sestavení pro který je toto sestavení přiděleno" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Cílové datum dokončení" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cílové datum dokončení sestavení. Sestavení bude po tomto datu v prodlení." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Datum dokončení" @@ -1294,7 +1294,7 @@ msgstr "Vytvořit objekt" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Položka sestavení musí specifikovat výstup sestavení, protože hlav msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "Smazat obrázek" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "Potvrdit" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 25c8b552c6..47b9245323 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -407,7 +407,7 @@ msgstr "Vælg fil, der skal vedhæftes" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Ugyldigt valg" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Returneret" msgid "In Progress" msgstr "Igangværende" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Forbrugsvare" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Sporet" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Allokeret" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Produktionsordre reference" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Produktionsordre som er tildelt denne produktion" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Projekteret afslutningsdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Dato for afslutning" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 8eca26f95c..ce9a6a92ad 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -407,7 +407,7 @@ msgstr "Datei zum Anhängen auswählen" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Ungültige Auswahl" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Zurückgegeben" msgid "In Progress" msgstr "In Bearbeitung" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Verbrauchsmaterial" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Nachverfolgt" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Zugeordnet" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Bauauftragsreferenz" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "geplantes Fertigstellungsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Zieldatum für Bauauftrag-Fertigstellung." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Fertigstellungsdatum" @@ -1294,7 +1294,7 @@ msgstr "Objekt bauen" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" @@ -1501,7 +1501,7 @@ msgstr "Lagerort für fertige Endprodukte" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "Zugewiesener Bestand" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Bestellt" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "In Produktion" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "Fertiggestellte Endprodukte" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "Artikel wurden aus einer Rücksendung erhalten" msgid "Error raised by plugin" msgstr "Fehler in Plugin aufgetreten" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "Wird ausgeführt" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "Anstehende Aufgaben" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "Geplante Aufgaben" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "Fehlgeschlagene Aufgaben" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "Aufgabe-ID" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "Eindeutige Aufgaben-ID" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "Sperren" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "Sperrzeit" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "Aufgabenname" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "Funktion" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "Funktionsname" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "Parameter" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "Aufgaben-Parameter" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "Schlüsselwort Parameter" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "Schlüsselwort Parameter für Aufgaben" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "Bild löschen" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Keine passende Bestellung gefunden" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Bestellung" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "Bestellung" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "Auftragsbeschreibung (optional)" msgid "Select project code for this order" msgstr "Projektcode für diesen Auftrag auswählen" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Link auf externe Seite" @@ -5037,15 +5037,15 @@ msgstr "Zulieferer Bestellreferenz" msgid "received by" msgstr "Empfangen von" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Aufgabedatum" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "Datum an dem die Bestellung aufgegeben wurde" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "Datum an dem der Auftrag fertigstellt wurde" @@ -5061,15 +5061,15 @@ msgstr "Anzahl muss eine positive Zahl sein" msgid "Company to which the items are being sold" msgstr "Firma an die die Teile verkauft werden" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "Kundenreferenz" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "Bestellreferenz" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "Preis pro Einheit" 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:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "Ein virtuelles Teil kann nicht einem Auftrag zugeordnet werden" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "Nur verkaufbare Teile können einem Auftrag zugewiesen werden" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkaufspreis" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Stückverkaufspreis" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Versendete Menge" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Versanddatum" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Lieferdatum" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "Versanddatum" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Kontrolliert von" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Sendung" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Sendungsnummer" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Sendungsverfolgungsnummer" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Informationen zur Sendungsverfolgung" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Rechnungsnummer" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "Referenznummer für zugehörige Rechnung" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "Sendung wurde bereits versandt" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "Sendung hat keine zugewiesene Lagerartikel" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "Lagerartikel wurde nicht zugewiesen" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "Auftrag gehört nicht zu Sendung" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Sendung gehört nicht zu Auftrag" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Position" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "Sendungsnummer-Referenz" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Position" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "Lagerartikel für Zuordnung auswählen" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "Anzahl für Bestandszuordnung eingeben" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "Rücksendungsreferenz" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "Firma von der die Artikel zurückgeschickt werden" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "Status der Rücksendung" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "Nur serialisierte Artikel können einer Rücksendung zugeordnet werden" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "Artikel zur Rücksendung auswählen" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "Empfangsdatum" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "Das Datum des Empfangs dieses Rücksendeartikels" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Ergebnis" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "Ergebnis für dieses Zeilenelement" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "Kosten für die Rückgabe oder Reparatur dieses Objektes" @@ -7899,7 +7899,7 @@ msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein" msgid "Stock item does not match line item" msgstr "Lagerartikel stimmt nicht mit dem Element überein" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Unzureichender Bestand verfügbar" @@ -9872,12 +9872,12 @@ msgstr "Anmeldeeinstellungen" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "Ausgehende E-Mails wurde nicht konfiguriert. Einige Anmelde- und Anmeldefunktionen funktionieren möglicherweise nicht korrekt!" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "Anmelden" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "Plugin-Einstellungen" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Wenn Sie die folgenden Einstellungen ändern, müssen Sie InvenTree sofort neu starten. Ändern Sie dies nicht während der aktiven Nutzung." -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Plugin installieren" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Plugins neu laden" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Externe Plugins sind für diese InvenTree-Installation nicht aktiviert" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "Plugin-Fehlerstapel" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "Stufe" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Meldung" @@ -10607,26 +10607,26 @@ msgstr "Bestätigen" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "Dieser E-Mail Bestätigungslink ist abgelaufen oder ungültig. Bitte fordern Sie eine neue E-Mail Bestätigung an." -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Einloggen" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "Kein Mitglied?" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "Anmelden" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Passwort vergessen?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "oder melden Sie sich mit" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "Bei den folgenden Teilen gibt es wenige Lagerartikel" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Benötigte Menge" @@ -11196,7 +11196,7 @@ msgstr "Stückliste für Bauteile laden" msgid "Substitutes Available" msgstr "Ersatzteile verfügbar" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "Alternatives Lager erlaubt" @@ -11216,30 +11216,30 @@ msgstr "Stücklistenpreise sind vollständig" msgid "No pricing available" msgstr "Keine Preisinformation verfügbar" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "Externes Lager" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "Kein Lagerbestand verfügbar" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "Alternatives Lager und Ersatzteillager einschließen" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "Alternatives Lager einschließen" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "Ersatzteillager einschließen" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "Verbrauchsartikel" @@ -11271,7 +11271,7 @@ msgstr "Stückliste anzeigen" msgid "No BOM items found" msgstr "Keine Stücklisten-Position(en) gefunden" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "Benötigtes Teil" @@ -11555,7 +11555,7 @@ msgstr "Lagerartikel zuordnen" msgid "No builds matching query" msgstr "Keine Bauaufträge zur Suchanfrage" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "Zuordnung bearbeiten" msgid "Remove Allocation" msgstr "Zuordnung entfernen" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "Bauauftragsposition" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "Bauauftragspositionen" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "Keine Bauauftragspositionen gefunden" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "Nachverfolgbares Teil" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "Menge" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "Ausreichender Bestand vorhanden" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "Verbrauchsartikel" @@ -11626,21 +11626,25 @@ msgstr "Verbrauchsartikel" msgid "Tracked item" msgstr "Verfolgtes Objekt" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "Bestand bauen" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "Bestand bestellen" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "Bestand zuweisen" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "Bestands-Zuordnung löschen" @@ -13973,6 +13977,22 @@ msgstr "Speichern" msgid "Show all notifications and history" msgstr "Zeige alle Benachrichtigungen und Verlauf" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "QR Daten nicht angegeben" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index bd12cb701e..3588ac374b 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -407,7 +407,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Επιστράφηκε" msgid "In Progress" msgstr "Σε Εξέλιξη" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Αναλώσιμο" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Υπό παρακολούθηση" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Κατανεμημένο" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Ημερομηνία ολοκλήρωσης στόχου" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ημερομηνία ολοκλήρωσης της κατασκευής. Η κατασκευή θα καθυστερήσει μετά από αυτή την ημερομηνία." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Ημερομηνία ολοκλήρωσης" @@ -1294,7 +1294,7 @@ msgstr "Αντικείμενο κατασκευής" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Το στοιχείο κατασκευής πρέπει να ορίζε msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" @@ -1501,7 +1501,7 @@ msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κα #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "Ολοκληρωμένα Προϊόντα" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index f40d3d6c40..3043f4f9b9 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" +"POT-Creation-Date: 2024-04-23 01:51+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -408,7 +408,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -485,7 +485,7 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -732,7 +732,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -944,7 +944,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -952,7 +952,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -965,7 +965,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -975,7 +975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1022,14 +1022,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1052,7 +1052,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1180,7 +1180,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1295,7 +1295,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1352,11 +1352,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1502,7 +1502,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1680,14 +1680,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1861,8 +1861,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3552,7 +3552,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3753,63 +3753,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4318,7 +4318,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4927,9 +4927,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4942,7 +4942,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4956,7 +4956,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4989,7 +4989,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5038,15 +5038,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5062,15 +5062,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5168,167 +5168,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7900,7 +7900,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -10828,7 +10828,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11197,7 +11197,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11217,30 +11217,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11272,7 +11272,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11556,7 +11556,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11593,33 +11593,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11627,21 +11627,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 3dc0e9e398..a4925a9707 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:20\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po index f40d3d6c40..3043f4f9b9 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" +"POT-Creation-Date: 2024-04-23 01:51+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -408,7 +408,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -485,7 +485,7 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -732,7 +732,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -944,7 +944,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -952,7 +952,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -965,7 +965,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -975,7 +975,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1022,14 +1022,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1052,7 +1052,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1180,7 +1180,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1295,7 +1295,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1352,11 +1352,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1502,7 +1502,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1680,14 +1680,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1861,8 +1861,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3552,7 +3552,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3753,63 +3753,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4318,7 +4318,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4927,9 +4927,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4942,7 +4942,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4956,7 +4956,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4989,7 +4989,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5038,15 +5038,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5062,15 +5062,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5168,167 +5168,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7900,7 +7900,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -10828,7 +10828,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11197,7 +11197,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11217,30 +11217,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11272,7 +11272,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11556,7 +11556,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11593,33 +11593,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11627,21 +11627,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 609252e6b9..1ad6f2f47a 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:20\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "تایید" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index f8755e2384..63c52707ee 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -407,7 +407,7 @@ msgstr "Valitse liitettävä tiedosto" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Virheellinen valinta" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Palautettu" msgid "In Progress" msgstr "Kesken" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "Asiakkaan viite " -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Seurantakoodi" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Laskunumero" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "Vahvista" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Kirjaudu sisään" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Unohtuiko salasana?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "Tallenna" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index 14e4235034..e333a2b547 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -407,7 +407,7 @@ msgstr "Sélectionnez un fichier à joindre" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Choix invalide" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Retourné" msgid "In Progress" msgstr "En Cours" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Consommable" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Suivi" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Allouée" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "BuildOrder associé a cette fabrication" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Date d'achèvement cible" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Date d'achèvement" @@ -1294,7 +1294,7 @@ msgstr "Création de l'objet" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "L'élément de construction doit spécifier une sortie de construction, msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" @@ -1501,7 +1501,7 @@ msgstr "Emplacement des ordres de production achevés" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "Stock alloué" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "En Commande" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "En Production" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "Sorties de Construction terminées" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "Erreur déclenchée par le plugin" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "Supprimer image" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Aucun bon de commande correspondant n'a été trouvé" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Commande" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "Commande d’achat" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Lien vers une page externe" @@ -5037,15 +5037,15 @@ msgstr "Code de référence de la commande fournisseur" msgid "received by" msgstr "reçu par" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Date d'émission" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "Date d'émission de la commande" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "Date à laquelle la commande a été complété" @@ -5061,15 +5061,15 @@ msgstr "La quantité doit être un nombre positif" msgid "Company to which the items are being sold" msgstr "Société à laquelle les articles sont vendus" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "Référence client " -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "Prix d'achat unitaire" msgid "Where does the Purchaser want this item to be stored?" msgstr "Où l'Acheteur veut-il stocker cet article ?" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "La pièce virtuelle ne peut pas être affectée à une commande" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "Seules les pièces vendues peuvent être attribuées à une commande" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prix de vente" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Prix de vente unitaire" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Quantité expédiée" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Date d'expédition" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Vérifié par" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Envoi" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Numéro d'expédition" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "N° de suivi" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Information de suivi des colis" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "N° de facture" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "Numéro de référence de la facture associée" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "Le colis a déjà été envoyé" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "L'expédition n'a pas d'articles en stock alloués" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "L'article de stock n'a pas été assigné" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "Impossible d'allouer le stock à une ligne sans pièce" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Ligne" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Article" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "Statut du retour de commande" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "Paramètres de Connexion" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "Paramètres des Extensions" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Extensions" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Les extensions tierces ne sont pas activées pour cette installation d'InvenTree" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "Confirmer" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Quantité requise" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Données QR non fournies" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 76fe1050c5..12aac5f8a5 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -407,7 +407,7 @@ msgstr "בחר קובץ לצירוף" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "בחירה שגויה" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "הוחזר" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "אשר" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 5fd43906bc..d8d025f328 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:20\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 12bfa8423e..c3e27e2c27 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -407,7 +407,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Érvénytelen választás" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Visszaküldve" msgid "In Progress" msgstr "Folyamatban" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Fogyóeszköz" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Követett" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Lefoglalva" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Befejezés cél dátuma" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Befejezés dátuma" @@ -1294,7 +1294,7 @@ msgstr "Gyártás objektum" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" @@ -1501,7 +1501,7 @@ msgstr "A kész gyártási kimenetek helye" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1680,14 +1680,14 @@ msgstr "Lefoglalt készlet" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Rendelve" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Gyártásban" @@ -1861,8 +1861,8 @@ msgid "Completed Outputs" msgstr "Befejezett kimenetek" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3552,7 +3552,7 @@ msgid "Price break quantity" msgstr "Ársáv mennyiség" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3753,63 +3753,63 @@ msgstr "Készlet érkezett vissza egy visszavétel miatt" msgid "Error raised by plugin" msgstr "Plugin hiba" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "Folyamatban" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "Folyamatban lévő feladatok" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "Ütemezett Feladatok" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "Hibás feladatok" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "Feladat ID" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "Egyedi feladat ID" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "Zárol" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "Zárolási idő" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "Feladat neve" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "Funkció" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "Funkció neve" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "Paraméterek" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "Feladat paraméterei" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "Kulcsszó paraméterek" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "Feladat kulcsszó paraméterek" @@ -4318,7 +4318,7 @@ msgid "Delete image" msgstr "Kép törlése" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4927,9 +4927,9 @@ msgstr "Van árazás" msgid "No matching purchase order found" msgstr "Nincs egyező beszerzési rendelés" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Rendelés" @@ -4942,7 +4942,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4956,7 +4956,7 @@ msgstr "" msgid "Purchase Order" msgstr "Beszerzési rendelés" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4989,7 +4989,7 @@ msgstr "Rendelés leírása (opcionális)" msgid "Select project code for this order" msgstr "Válassz projektszámot ehhez a rendeléshez" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Link külső weboldalra" @@ -5038,15 +5038,15 @@ msgstr "Beszállítói rendelés azonosító kód" msgid "received by" msgstr "érkeztette" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Kiállítás dátuma" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "Kiállítás dátuma" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "Rendelés teljesítési dátuma" @@ -5062,15 +5062,15 @@ msgstr "Mennyiség pozitív kell legyen" msgid "Company to which the items are being sold" msgstr "Cég akinek a tételek értékesítésre kerülnek" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "Vevői azonosító " -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "Megrendelés azonosító kódja a vevőnél" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5168,167 +5168,167 @@ msgstr "Beszerzési egységár" msgid "Where does the Purchaser want this item to be stored?" msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuális alkatrészt nem lehet vevői rendeléshez adni" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "Csak értékesíthető alkatrészeket lehet vevői rendeléshez adni" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Eladási ár" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Eladási egységár" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Szállított mennyiség" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Szállítás dátuma" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Szállítási dátum" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "Kézbesítés dátuma" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Ellenőrizte" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Szállítmány" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Szállítmány száma" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Nyomkövetési szám" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Szállítmány nyomkövetési információ" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Számlaszám" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "Hozzátartozó számla referencia száma" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "Szállítmány már elküldve" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "Készlet tétel nincs hozzárendelve" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "Vevői rendelés nem egyezik a szállítmánnyal" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Szállítmány nem egyezik a vevői rendeléssel" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Sor" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "Vevői rendelés szállítmány azonosító" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Tétel" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "Válaszd ki a foglalásra szánt készlet tételt" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "Készlet foglalási mennyiség megadása" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "Visszavétel azonosító" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "Cég akitől a tételek visszavételre kerülnek" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "Visszavétel állapota" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "Csak szériaszámos tételek rendelhetők visszaszállítási utasításhoz" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "Válaszd ki a vevőtől visszavenni kívánt tételt" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "Visszavétel dátuma" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "Mikor lett visszavéve a tétel" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kimenetel" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "Sortétel végső kimenetele" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "Sortétel visszaküldésének vagy javításának költsége" @@ -7900,7 +7900,7 @@ msgstr "Vonalkód nem egyezik egy létező készlet tétellel sem" msgid "Stock item does not match line item" msgstr "Készlet tétel nem egyezik a sortétellel" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Nincs elegendő" @@ -9873,12 +9873,12 @@ msgstr "Belépési beállítások" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "Kimenő email nincs beállítva. Néhány bejelentkezési és regisztrációs funkció nem fog megfelelően működni!" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "Regisztráció" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "Single Sign On (SSO)" @@ -9955,36 +9955,36 @@ msgstr "Plugin beállítások" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Az alábbi beállítások módosításához a kiszolgáló azonnali újraindítása szükséges. Aktív használat közben ne változtass ezeken." -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Pluginok" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Plugin Telepítése" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Pluginok újratöltése" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Külső pluginok nincsenek engedélyezve" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "Plugin hibatároló" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "Szakasz" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Üzenet" @@ -10608,26 +10608,26 @@ msgstr "Megerősítés" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "Ez az email megerősítő link lejárt vagy hibás. Klikk ide az új megerősítési kérelem elküldéséhez." -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Bejelentkezés" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "Még nem vagy regisztrálva?" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "Regisztráció" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Elfelejtett jelszó?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "vagy jelentkezz be a" @@ -10828,7 +10828,7 @@ msgid "The following parts are low on required stock" msgstr "A következő alkatrészek szükséges készlete alacsony" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Szükséges mennyiség" @@ -11197,7 +11197,7 @@ msgstr "Alkatrészjegyzék betöltése az al-gyártmányhoz" msgid "Substitutes Available" msgstr "Vannak helyettesítők" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "Készletváltozatok engedélyezve" @@ -11217,30 +11217,30 @@ msgstr "Alkatrészjegyzék árazása nem teljes" msgid "No pricing available" msgstr "Nincsenek árak" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "Külső raktárkészlet" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "Nincs szabad" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "Változatokkal és helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "Változatokkal együtt" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "Helyettesítőkkel együtt" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "Fogyóeszköz tétel" @@ -11272,7 +11272,7 @@ msgstr "Alkatrészjegyzék megtekintése" msgid "No BOM items found" msgstr "Nem találhatók alkatrészjegyzék tételek" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "Szükséges alkatrész" @@ -11556,7 +11556,7 @@ msgstr "Készlet tételek foglalása" msgid "No builds matching query" msgstr "Nincs a lekérdezéssel egyező gyártási utasítás" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11593,33 +11593,33 @@ msgstr "Foglalás szerkesztése" msgid "Remove Allocation" msgstr "Foglalás törlése" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "gyártás sor" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "gyártás sorok" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "Nincsenek gyártási sorok" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "Követésre kötelezett alkatrész" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "Mennyiségi egység" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "Van elegendő" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "Fogyóeszköz tétel" @@ -11627,21 +11627,25 @@ msgstr "Fogyóeszköz tétel" msgid "Tracked item" msgstr "Követett tétel" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "Gyártási készlet" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "Készlet rendelés" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "Lefoglalt készlet" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "Készlet foglalások törlése" @@ -13974,6 +13978,22 @@ msgstr "Mentés" msgid "Show all notifications and history" msgstr "Összes értesítés és előzmény megjelenítése" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Nincs QR kód adat megadva" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index a01f3f9512..229c87cf07 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:20\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -407,7 +407,7 @@ msgstr "Pilih file untuk dilampirkan" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Pilihan tidak valid" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Dikembalikan" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Referensi Order Produksi" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Produksi induk dari produksi ini" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Target tanggal selesai" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Target tanggal selesai produksi. Produksi akan menjadi terlambat setelah tanggal ini." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Tanggal selesai" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" @@ -1501,7 +1501,7 @@ msgstr "Lokasi hasil pesanan yang selesai" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "Konfirmasi" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "Simpan" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index 440d5822c3..38dfb8f1e4 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -407,7 +407,7 @@ msgstr "Seleziona file da allegare" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Scelta non valida" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Reso" msgid "In Progress" msgstr "In corso" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Consumabile" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Monitorato" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Allocato" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Data completamento obiettivo" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Data di completamento della produzione. Dopo tale data la produzione sarà in ritardo." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Data di completamento" @@ -1294,7 +1294,7 @@ msgstr "Crea oggetto" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "L'elemento di compilazione deve specificare un output poiché la parte p msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" @@ -1501,7 +1501,7 @@ msgstr "Posizione per gli output di build completati" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Ordinato" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "Outputs Completati" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "Quantità prezzo limite" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "Errore generato dal plugin" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "Elimina immagine" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Nessun ordine di acquisto corrispondente trovato" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Ordine" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "Ordine D'Acquisto" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "Descrizione dell'ordine (opzionale)" msgid "Select project code for this order" msgstr "Seleziona il codice del progetto per questo ordine" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Collegamento a un sito web esterno" @@ -5037,15 +5037,15 @@ msgstr "Codice di riferimento ordine fornitore" msgid "received by" msgstr "ricevuto da" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Data di emissione" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "Data di emissione ordine" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "Data ordine completato" @@ -5061,15 +5061,15 @@ msgstr "La quantità deve essere un numero positivo" msgid "Company to which the items are being sold" msgstr "Azienda da cui sono stati ordinati gli elementi" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "Riferimento Cliente " -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "Codice di riferimento Ordine del Cliente" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "Prezzo di acquisto unitario" msgid "Where does the Purchaser want this item to be stored?" msgstr "Dove l'Acquirente desidera che questo elemento venga immagazzinato?" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "Un articolo virtuale non può essere assegnato ad un ordine di vendita" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "Solo gli articoli vendibili possono essere assegnati a un ordine di vendita" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Prezzo di Vendita" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Prezzo unitario di vendita" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Quantità spedita" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Data di spedizione" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Verificato Da" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Spedizione" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Numero di spedizione" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Numero di monitoraggio" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Informazioni di monitoraggio della spedizione" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Numero Fattura" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "Numero di riferimento per la fattura associata" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "La spedizione è già stata spedita" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "La spedizione non ha articoli di stock assegnati" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "L'elemento di magazzino non è stato assegnato" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "Impossibile allocare l'elemento stock a una linea con un articolo diverso" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "Impossibile allocare stock a una riga senza un articolo" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "L'ordine di vendita non corrisponde alla spedizione" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "La spedizione non corrisponde all'ordine di vendita" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Linea" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "Riferimento della spedizione ordine di vendita" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Elemento" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "Seleziona elemento stock da allocare" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "Inserisci la quantità assegnata alla giacenza" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "Seleziona l'elemento da restituire dal cliente" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "Data di ricezione" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Risultati" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Scorte insufficienti disponibili" @@ -9872,12 +9872,12 @@ msgstr "Impostazioni di accesso" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "L'email in uscita non è stata configurata. Alcune funzioni di login e di registrazione potrebbero non funzionare correttamente!" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "Registrati" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "Accesso singolo" @@ -9954,36 +9954,36 @@ msgstr "Impostazioni Plugin" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Cambiando le impostazioni qui sotto, si richiede di riavviare immediatamente il server. Non cambiare le impostazioni durante l'utilizzo." -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Plugin" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Installa Plugin" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "I plugin esterni non sono abilitati per questa installazione InvenTree" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "Plugin Errore Stack" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Messaggio" @@ -10607,26 +10607,26 @@ msgstr "Conferma" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "Questo link di conferma email è scaduto o non è valido. Per favoreinoltra una nuova richiesta di conferma email." -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Accedi" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "Non sei ancora iscritto?" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "Registrati" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Password dimenticata?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "o accedi con" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "I seguenti articoli sono pochi nel magazzino richiesto" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Quantità richiesta" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "Salva" msgid "Show all notifications and history" msgstr "Mostra tutte le notifiche e la cronologia" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Dati QR non forniti" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index 2d767bf122..d21532818f 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -407,7 +407,7 @@ msgstr "添付ファイルを選択" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "無効な選択です" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "返品済" msgid "In Progress" msgstr "処理中" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "外部ページへのリンク" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "確認" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index e07c9f2839..8ccf439349 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index c123232a01..173b919003 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,15 +2,15 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:20\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==0 ? 0 : n%10==1 && n%100!=11 ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: lv\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 3cc600c792..2a32cd9fca 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -407,7 +407,7 @@ msgstr "Bestand als bijlage selecteren" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Ongeldige keuze" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Retour" msgid "In Progress" msgstr "In Behandeling" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Verbruiksartikelen" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Gevolgd" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Toegewezen" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Productieorderreferentie" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Productieorder waar deze productie aan is toegewezen" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Verwachte opleveringsdatum" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Opleveringsdatum" @@ -1294,7 +1294,7 @@ msgstr "Bouw object" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofd msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" @@ -1501,7 +1501,7 @@ msgstr "Locatie van voltooide productieuitvoeren" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "In bestelling" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "Voltooide Uitvoeren" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "Inkooporder" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Link naar externe pagina" @@ -5037,15 +5037,15 @@ msgstr "Order referentiecode van leverancier" msgid "received by" msgstr "ontvangen door" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Datum van uitgifte" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "Order uitgegeven op datum" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "Order voltooid op datum" @@ -5061,15 +5061,15 @@ msgstr "Hoeveelheid moet een positief getal zijn" msgid "Company to which the items are being sold" msgstr "Bedrijf waaraan de artikelen worden verkocht" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "Klantreferentie " -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "Klant order referentiecode" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "Aankoopprijs per stuk" msgid "Where does the Purchaser want this item to be stored?" msgstr "Waar wil de inkoper dat dit artikel opgeslagen wordt?" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtueel onderdeel kan niet worden toegewezen aan een verkooporder" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "Alleen verkoopbare onderdelen kunnen aan een verkooporder worden toegewezen" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Verkoopprijs" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Prijs per stuk" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Verzonden hoeveelheid" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Datum van verzending" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Gecontroleerd door" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Zending" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Zendingsnummer" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Volgnummer" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Zending volginformatie" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Factuurnummer" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "Referentienummer voor bijbehorende factuur" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "Verzending is al verzonden" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "Zending heeft geen toegewezen voorraadartikelen" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "Voorraadartikel is niet toegewezen" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan het voorraadartikel niet toewijzen aan een regel met een ander onderdeel" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "Kan voorraad niet toewijzen aan een regel zonder onderdeel" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "Verkooporder komt niet overeen met zending" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Verzending komt niet overeen met verkooporder" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Regel" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "Verzendreferentie verkooporder" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Artikel" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "Selecteer voorraadartikel om toe te wijzen" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "Voer voorraadtoewijzingshoeveelheid in" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Onvoldoende voorraad beschikbaar" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Bericht" @@ -10607,26 +10607,26 @@ msgstr "Bevestigen" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "De volgende onderdelen hebben een lage vereiste voorraad" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Vereiste Hoeveelheid" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index 290d59e772..e9ff884fb0 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -407,7 +407,7 @@ msgstr "Velg fil å legge ved" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Ugyldig valg" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Returnert" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Forbruksvare" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Spores" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Tildelt" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Produksjonsordre som denne produksjonen er tildelt" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Forventet sluttdato" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldato for ferdigstillelse. Produksjonen vil være forfalt etter denne datoen." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Fullført dato" @@ -1294,7 +1294,7 @@ msgstr "Produksjonsobjekt" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Produksjonselement må spesifisere en produksjonsartikkel, da master-del msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" @@ -1501,7 +1501,7 @@ msgstr "Plassering for ferdige produksjonsartikler" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "Tildelt lagerbeholdning" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "I bestilling" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "I produksjon" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "Fullførte byggeresultater" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "Antall for prisbrudd" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "Artikler har blitt mottatt mot en returordre" msgid "Error raised by plugin" msgstr "Feil oppstått i utvidelse" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "Kjører" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "Ventende oppgaver" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "Planlagte oppgaver" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "Mislykkede oppgaver" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "Oppgave-ID" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "Unik oppgave-ID" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "Lås" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "Låsetidspunkt" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "Oppgavenavn" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "Funksjon" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "Funksjonsnavn" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "Argumenter" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "Oppgaveargumenter" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "Nøkkelordargumenter" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "Nøkkelordargumenter for oppgave" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "Slett bilde" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Ingen samsvarende innkjøpsordre funnet" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Ordre" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "Innkjøpsordre" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "Ordrebeskrivelse (valgfritt)" msgid "Select project code for this order" msgstr "Velg prosjektkode for denne ordren" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Lenke til ekstern side" @@ -5037,15 +5037,15 @@ msgstr "Leverandørens ordrereferanse" msgid "received by" msgstr "mottatt av" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Sendt dato" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "Dato bestillingen ble sendt" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "Dato ordre ble fullført" @@ -5061,15 +5061,15 @@ msgstr "Mengde må være positiv" msgid "Company to which the items are being sold" msgstr "Firma som varene selges til" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "Kundereferanse " -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "Kundens ordrereferanse" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "Enhet-innkjøpspris" msgid "Where does the Purchaser want this item to be stored?" msgstr "Hvor vil innkjøper at artikkelen skal lagres?" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "Virtuell del kan ikke tildeles salgsordre" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "Kun salgbare deler kan tildeles en salgsordre" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Salgspris" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Enhets-salgspris" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Sendt antall" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Dato for forsendelse" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Leveringsdato" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "Dato for levering av forsendelse" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Sjekket Av" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Forsendelse" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Forsendelsesnummer" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Sporingsnummer" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Sporingsinformasjon for forsendelse" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "Referansenummer for tilknyttet faktura" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "Forsendelsen er allerede sendt" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "Forsendelsen har ingen tildelte lagervarer" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "Lagervarer er ikke blitt tildelt" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "Kan ikke tildele lagervare til en linje med annen del" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "Kan ikke tildele lagerbeholdning til en linje uten en del" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "Salgsordre samsvarer ikke med forsendelse" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Forsendelsen samsvarer ikke med salgsordre" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Linje" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "Forsendelsesreferanse for salgsordre" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Artikkel" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "Velg lagervare å tildele" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "Angi lagertildelingsmengde" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "Returordre-referanse" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "Firmaet delen skal returneres fra" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "Returordrestatus" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "Kun serialiserte artikler kan tilordnes en Returordre" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "Velg artikkel som skal returneres fra kunde" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "Mottatt Dato" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "Datoen denne returartikkelen ble mottatt" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Utfall" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "Utfall for dette linjeelementet" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "Kostnad forbundet med retur eller reparasjon for dette linjeelementet" @@ -7899,7 +7899,7 @@ msgstr "Strekkoden samsvarer ikke med eksisterende lagervare" msgid "Stock item does not match line item" msgstr "Lagervare samsvarer ikke med linjeelement" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Utilstrekkelig lagerbeholdning" @@ -9872,12 +9872,12 @@ msgstr "Innstillinger for innlogging" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "Utgående e-post har ikke blitt kanskje. Noen innloggings- og registreringsfunksjoner fungerer kanskje ikke korrekt!" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "Registrering" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "Innstillinger for Utvidelser" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Endring av innstillingene nedenfor krever at du umiddelbart starter serveren på nytt. Ikke endre under aktiv bruk." -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Utvidelser" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Installer Utvidelse" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Last utvidelser på nytt" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Eksterne utvidelser er ikke aktivert for denne InvenTree-installasjonen" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "Utvidelse feilstack" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "Stadium" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Melding" @@ -10607,26 +10607,26 @@ msgstr "Bekreft" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "Denne e-postbekreftelseslenken er utgått eller ugyldig. Vennligst send en ny bekreftelsesforespørsel." -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Logg inn" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "Ikke medlem?" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "Registrer deg" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Glemt passord?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "eller logg på med" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "Følgende deler har for lav lagerbeholdning" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Antall som kreves" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "Lagre" msgid "Show all notifications and history" msgstr "Vis alle varsler og historikk" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "QR-data ikke oppgitt" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 66c4f00316..52d43f98e5 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -407,7 +407,7 @@ msgstr "Wybierz plik do załączenia" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Błędny wybór" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Zwrócone" msgid "In Progress" msgstr "W trakcie" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Materiał eksploatacyjny" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Śledzony" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Przydzielono" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Docelowy termin zakończenia" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Docelowa data zakończenia kompilacji. Po tej dacie kompilacja będzie zaległa." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Data zakończenia" @@ -1294,7 +1294,7 @@ msgstr "Zbuduj obiekt" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "W Zamówieniu" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "W produkcji" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Nie znaleziono pasującego zlecenia zakupu" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Zamówienie" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "Zlecenie zakupu" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Link do zewnętrznej witryny" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "odebrane przez" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Data wydania" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "Data wystawienia zamówienia" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "Wartość musi być liczbą dodatnią" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "Cena zakupu jednostkowego" msgid "Where does the Purchaser want this item to be stored?" msgstr "Gdzie kupujący chce przechowywać ten przedmiot?" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Cena sprzedaży" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Jednostkowa cena sprzedaży" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Wysłana ilość" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Data wysyłki" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Sprawdzone przez" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Przesyłka" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Numer przesyłki" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Numer śledzenia" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Informacje o śledzeniu przesyłki" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "Przesyłka została już wysłana" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Linia" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Komponent" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "Kod kreskowy nie pasuje do istniejących pozycji magazynowych" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "Ustawienia logowania" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "Rejestracja" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Wtyczki" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Instaluj wtyczkę" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "Błąd stosu wtyczki" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "Etap" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Wiadomość" @@ -10607,26 +10607,26 @@ msgstr "Potwierdź" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "Ten link potwierdzający adres e-mail wygasł, bądź jest nieprawidłowy. Proszę o zażądanie nowego e-maila potwierdzającego adres e-mail." -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Zaloguj się" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "Zarejestruj się" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Zapomniałeś hasła?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Wymagana ilość" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "Zapisz" msgid "Show all notifications and history" msgstr "Pokaż wszystkie powiadomienia i historię" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Dane QR nie zostały dostarczone" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index 63d0044f62..c5b077f3e6 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 2265c30193..52d21a43ac 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -407,7 +407,7 @@ msgstr "Выберите файл для вложения" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Неверный выбор" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Возвращено" msgid "In Progress" msgstr "Выполняется" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Расходники" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Отслеживается" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Зарезервировано" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Заказ на производство, которому принад #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Целевая дата завершения" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Целевая дата для заказа на производства. Заказ будет просрочен после этой даты." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Дата завершения" @@ -1294,7 +1294,7 @@ msgstr "Объект производства" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Элемент производства должен указать пр msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" @@ -1501,7 +1501,7 @@ msgstr "Место хранения для завершенной продукц #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "Зарезервированные Запасы" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "В заказе" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "В производстве" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "Завершенная продукция" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "Запущен" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "Ожидающие задачи" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "Запланированные задания" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "Невыполненные Задачи" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "Код задачи" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "Уникальный ID задачи" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "Заблокировать" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "Время блокировки" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "Название задачи" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "Функция" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "Имя функции" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "Аргументы" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "Аргументы задачи" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "Удалить изображение" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "Имеет цену" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Заказ" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "Заказ на закупку" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "Описание заказа (дополнительно)" msgid "Select project code for this order" msgstr "Выберите код проекта для этого заказа" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "получил" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Дата создания" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "Компания, которой детали продаются" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Цена продажи" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Цена последней продажи" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Отгруженное кол-во" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Дата отправления" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Дата доставки" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Проверн" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Отправление" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Номер отправления" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Номер отслеживания" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Информация об отслеживании доставки" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Номер счета" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "Отправка не имеет зарезервированных складских позиций" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "Складская позиция не была назначена" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "Невозможно зарезервировать складскую позицию в позицию другой детали" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Строка" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Элемент" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "Выберите складскую позицию для резервирования" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "Укажите резервируемое количество" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "Выберите позицию, возвращаемую от клиента" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "Дата получения" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Результат" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "Штрих-код не соответствует существующи msgid "Stock item does not match line item" msgstr "Складская позиция не соответствует позиции" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "Настройки входа" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "Регистрация" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "Настройки плагинов" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Плагины" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Установить плагины" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Перезагрузить плагины" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "Стадия" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Сообщения" @@ -10607,26 +10607,26 @@ msgstr "Подтвердить" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "Эта ссылка для подтверждения электронной почты устарела или является недействительной. Пожалуйста, отправьте новый запрос на подтверждение электронной почты." -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Вход" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "Не член?" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "Зарегистрироваться" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Забыли пароль?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "или войти с помощью" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Требуемое кол-во" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "Расходник" @@ -11271,7 +11271,7 @@ msgstr "Просмотр BOM" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "Необходимая деталь" @@ -11555,7 +11555,7 @@ msgstr "Зарезервировать Складские Позиции" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "Редактировать Резерв" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "строка производства" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "позиция производства" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "Отслеживаемая деталь" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "Количество единиц" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "Расходник" @@ -11626,21 +11626,25 @@ msgstr "Расходник" msgid "Tracked item" msgstr "Отслеживаемый элемент" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "Запасы производства" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "Заказать запасы" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "Зарезервировать Остатки" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "Сохранить" msgid "Show all notifications and history" msgstr "Показать все уведомления и историю" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "QR-данные не представлены" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 025a1c52be..fc13167eaa 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 4b6453542d..e8d36f1c68 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,15 +2,15 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n" +"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" "X-Crowdin-Project: inventree\n" "X-Crowdin-Project-ID: 452300\n" "X-Crowdin-Language: sl\n" @@ -50,7 +50,7 @@ msgstr "Vnesena napačna količina ({exc})" #: InvenTree/exceptions.py:109 msgid "Error details can be found in the admin panel" -msgstr "Napaka, podrobnosti vidne v pogledu administratorja" +msgstr "Podrobnosti napake so vidne v pogledu administratorja" #: InvenTree/fields.py:139 msgid "Enter date" @@ -338,7 +338,7 @@ msgstr "Kitajščina (tradicionalno)" #: InvenTree/magic_login.py:28 #, python-brace-format msgid "[{site_name}] Log in to the app" -msgstr "" +msgstr "[{site_name}] Prijavite se v aplikacijo" #: InvenTree/magic_login.py:38 company/models.py:133 #: company/templates/company/company_base.html:138 @@ -349,19 +349,19 @@ msgstr "E-pošta" #: InvenTree/models.py:107 msgid "Error running plugin validation" -msgstr "" +msgstr "Napaka pri izvajanju preverjanja vtičnika" #: InvenTree/models.py:162 msgid "Metadata must be a python dict object" -msgstr "" +msgstr "Metapodatki morajo biti objekt tipa python dict" #: InvenTree/models.py:168 msgid "Plugin Metadata" -msgstr "" +msgstr "Metapodatki vtičnika" #: InvenTree/models.py:169 msgid "JSON metadata field, for use by external plugins" -msgstr "" +msgstr "Polje metapodatkov JSON za uporabo pri zunanjih vtičnikih" #: InvenTree/models.py:399 msgid "Improperly formatted pattern" @@ -407,7 +407,7 @@ msgstr "Izberite prilogo" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -477,19 +477,19 @@ msgstr "Napaka pri preimenovanju datoteke" #: InvenTree/models.py:846 msgid "Duplicate names cannot exist under the same parent" -msgstr "" +msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" #: InvenTree/models.py:863 msgid "Invalid choice" msgstr "Nedovoljena izbira" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -555,7 +555,7 @@ msgstr "Pot" #: InvenTree/models.py:1021 msgid "Markdown notes (optional)" -msgstr "" +msgstr "Markdown opombe (neobvezno)" #: InvenTree/models.py:1050 msgid "Barcode Data" @@ -594,31 +594,31 @@ msgstr "Mora biti veljavna številka" #: templates/InvenTree/settings/settings_staff_js.html:44 #: templates/currency_data.html:5 msgid "Currency" -msgstr "" +msgstr "Valuta" #: InvenTree/serializers.py:102 msgid "Select currency from available options" -msgstr "" +msgstr "Izberite valuto med razpoložljivimi možnostmi" #: InvenTree/serializers.py:441 msgid "You do not have permission to change this user role." -msgstr "" +msgstr "Nimate dovoljenja za spreminjanje vloge tega uporabnika." #: InvenTree/serializers.py:453 msgid "Only superusers can create new users" -msgstr "" +msgstr "Samo superuporabniki lahko ustvarijo nove uporabnike" #: InvenTree/serializers.py:472 msgid "Your account has been created." -msgstr "" +msgstr "Vaš račun je bil ustvarjen." #: InvenTree/serializers.py:474 msgid "Please use the password reset function to login" -msgstr "" +msgstr "Za prijavo uporabite funkcijo ponastavitve gesla" #: InvenTree/serializers.py:481 msgid "Welcome to InvenTree" -msgstr "" +msgstr "Dobrodošli v InvenTree" #: InvenTree/serializers.py:542 msgid "Filename" @@ -672,7 +672,7 @@ msgstr "Dvojni stolpec: '{col}'" #: InvenTree/serializers.py:859 msgid "Remote Image" -msgstr "" +msgstr "Oddaljena slika" #: InvenTree/serializers.py:860 msgid "URL of remote image file" @@ -729,9 +729,9 @@ msgstr "Vrnjeno" #: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 msgid "In Progress" -msgstr "" +msgstr "V teku" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -740,7 +740,7 @@ msgstr "Poslano" #: InvenTree/status_codes.py:62 msgid "OK" -msgstr "" +msgstr "OK" #: InvenTree/status_codes.py:63 msgid "Attention needed" @@ -796,7 +796,7 @@ msgstr "Lokacija spremenjena" #: InvenTree/status_codes.py:106 msgid "Stock updated" -msgstr "" +msgstr "Zaloga posodobljena" #: InvenTree/status_codes.py:109 msgid "Installed into assembly" @@ -840,7 +840,7 @@ msgstr "Nalog za izgradnjo končan" #: InvenTree/status_codes.py:128 msgid "Build order output rejected" -msgstr "" +msgstr "Nalog za izgradnjo zavrnjen" #: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1761 msgid "Consumed by build order" @@ -848,15 +848,15 @@ msgstr "Porabljeno v nalogu za izgradnjo" #: InvenTree/status_codes.py:132 msgid "Shipped against Sales Order" -msgstr "" +msgstr "Poslano preko prodajnega naročila" #: InvenTree/status_codes.py:135 msgid "Received against Purchase Order" -msgstr "" +msgstr "Prejeto preko nabavnega naročila" #: InvenTree/status_codes.py:138 msgid "Returned against Return Order" -msgstr "" +msgstr "Vrnjeno preko naročila za vračilo" #: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 msgid "Sent to customer" @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Rok dokončanja" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Rok končanja izdelave. Izdelava po tem datumu bo v zamudi po tem datumu." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Datom končanja" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot s msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -11707,7 +11711,7 @@ msgstr "" #: templates/js/translated/company.js:678 #: templates/js/translated/company.js:742 msgid "Role" -msgstr "" +msgstr "Vloga" #: templates/js/translated/company.js:686 msgid "Delete Contacts" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index a7b07cb81c..150c3875a8 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:20\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -407,7 +407,7 @@ msgstr "Izaberite datoteku za prilog" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Nevažeći izvor" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Vraćeno" msgid "In Progress" msgstr "U progresu" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 38d3a3518b..6c56800fe6 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -407,7 +407,7 @@ msgstr "Välj fil att bifoga" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Ogiltigt val" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Återlämnad" msgid "In Progress" msgstr "Pågående" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Byggnationen måste avbrytas innan den kan tas bort" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Byggorderreferens" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Byggorder till vilken detta bygge är tilldelad" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Datum för slutförande" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Måldatum för färdigställande. Byggandet kommer att förfallas efter detta datum." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Slutförandedatum" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -2160,7 +2160,7 @@ msgstr "" #: common/models.py:1159 #, python-brace-format msgid "Invalid domain name: {domain}" -msgstr "" +msgstr "Ogiltigt domännamn: {domain}" #: common/models.py:1171 msgid "No plugin" @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "Schemalagda uppgifter" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -3968,7 +3968,7 @@ msgstr "" #: company/models.py:395 msgid "Primary address" -msgstr "" +msgstr "Primär adress" #: company/models.py:396 msgid "Set as primary address" @@ -3981,7 +3981,7 @@ msgstr "" #: company/models.py:402 msgid "Address line 1" -msgstr "" +msgstr "Adressrad 1" #: company/models.py:408 templates/js/translated/company.js:915 #: templates/js/translated/company.js:977 @@ -3990,7 +3990,7 @@ msgstr "" #: company/models.py:409 msgid "Address line 2" -msgstr "" +msgstr "Adressrad 2" #: company/models.py:415 company/models.py:416 #: templates/js/translated/company.js:983 @@ -4061,7 +4061,7 @@ msgstr "" #: templates/js/translated/company.js:1611 #: templates/js/translated/table_filters.js:800 msgid "Manufacturer" -msgstr "" +msgstr "Tillverkare" #: company/models.py:501 msgid "Select manufacturer" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "Radera bild" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4721,7 +4721,7 @@ msgstr "Företag" #: company/views.py:52 msgid "New Company" -msgstr "" +msgstr "Nytt företag" #: label/api.py:247 msgid "Error printing label" @@ -4733,7 +4733,7 @@ msgstr "Etikettnamn" #: label/models.py:128 msgid "Label description" -msgstr "" +msgstr "Etikettbeskrivning" #: label/models.py:136 msgid "Label" @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Leveransdatum" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Fakturanummer" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -6478,7 +6478,7 @@ msgstr "" #: templates/js/translated/purchase_order.js:1732 #: templates/js/translated/stock.js:2821 msgid "Date" -msgstr "" +msgstr "Datum" #: part/models.py:3168 msgid "Date stocktake was performed" @@ -6847,7 +6847,7 @@ msgstr "" #: part/serializers.py:443 msgid "Copy Image" -msgstr "" +msgstr "Kopiera bild" #: part/serializers.py:444 msgid "Copy image from original part" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9857,7 +9857,7 @@ msgstr "" #: templates/InvenTree/settings/global.html:8 msgid "Server Settings" -msgstr "" +msgstr "Serverinställningar" #: templates/InvenTree/settings/label.html:8 #: templates/InvenTree/settings/user_labels.html:9 @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,39 +9954,39 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" -msgstr "" +msgstr "Meddelande" #: templates/InvenTree/settings/plugin_settings.html:16 msgid "Plugin information" @@ -10267,7 +10267,7 @@ msgstr "" #: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 msgid "Server" -msgstr "" +msgstr "Server" #: templates/InvenTree/settings/sidebar.html:41 msgid "Labels" @@ -10607,26 +10607,26 @@ msgstr "Bekräfta" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Logga in" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "Registrera dig" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Glömt lösenord?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "eller logga in med" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13245,7 +13249,7 @@ msgstr "" #: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 msgid "Enter serial number" -msgstr "" +msgstr "Ange serienummer" #: templates/js/translated/stock.js:614 msgid "Enter a serial number" @@ -13973,6 +13977,22 @@ msgstr "Spara" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 8105dcce9b..95eb92c8c1 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:20\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -407,7 +407,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "ส่งคืนแล้ว" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 256e4a1fe9..6d555fb410 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -407,7 +407,7 @@ msgstr "Eklenecek dosyayı seç" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Geçersiz seçim" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "İade" msgid "In Progress" msgstr "Devam Ediyor" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Yapım İşi Emri Referansı" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Hedef tamamlama tarihi" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Tamamlama tarihi" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktıs msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Harici sayfaya bağlantı" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Tahsis miktarı stok miktarını aşamaz" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar bir olmalı" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "Stok tahsis miktarını girin" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "Onay" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "Tüm bildirimleri ve içeriğini göster" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "QR sağlanamadı" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po new file mode 100644 index 0000000000..aa059ab387 --- /dev/null +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -0,0 +1,14247 @@ +msgid "" +msgstr "" +"Project-Id-Version: inventree\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-28 19:48\n" +"Last-Translator: \n" +"Language-Team: Ukrainian\n" +"Language: uk_UA\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" +"X-Crowdin-Project: inventree\n" +"X-Crowdin-Project-ID: 452300\n" +"X-Crowdin-Language: uk\n" +"X-Crowdin-File: /[inventree.InvenTree] l10/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po\n" +"X-Crowdin-File-ID: 216\n" + +#: InvenTree/api.py:255 +msgid "API endpoint not found" +msgstr "" + +#: InvenTree/api.py:519 +msgid "User does not have permission to view this model" +msgstr "" + +#: InvenTree/conversion.py:160 +#, python-brace-format +msgid "Invalid unit provided ({unit})" +msgstr "" + +#: InvenTree/conversion.py:177 +msgid "No value provided" +msgstr "" + +#: InvenTree/conversion.py:204 +#, python-brace-format +msgid "Could not convert {original} to {unit}" +msgstr "" + +#: InvenTree/conversion.py:206 +msgid "Invalid quantity supplied" +msgstr "" + +#: InvenTree/conversion.py:220 +#, python-brace-format +msgid "Invalid quantity supplied ({exc})" +msgstr "" + +#: InvenTree/exceptions.py:109 +msgid "Error details can be found in the admin panel" +msgstr "" + +#: InvenTree/fields.py:139 +msgid "Enter date" +msgstr "" + +#: InvenTree/fields.py:208 InvenTree/models.py:1021 build/serializers.py:438 +#: build/serializers.py:516 build/templates/build/sidebar.html:21 +#: company/models.py:847 company/templates/company/sidebar.html:37 +#: order/models.py:1283 order/templates/order/po_sidebar.html:11 +#: order/templates/order/return_order_sidebar.html:9 +#: order/templates/order/so_sidebar.html:17 part/admin.py:59 +#: part/models.py:3175 part/templates/part/part_sidebar.html:63 +#: report/templates/report/inventree_build_order_base.html:172 +#: stock/admin.py:226 stock/models.py:2332 stock/models.py:2449 +#: stock/serializers.py:501 stock/serializers.py:659 stock/serializers.py:755 +#: stock/serializers.py:805 stock/serializers.py:1114 stock/serializers.py:1203 +#: stock/serializers.py:1368 stock/templates/stock/stock_sidebar.html:25 +#: templates/js/translated/barcode.js:143 templates/js/translated/bom.js:1265 +#: templates/js/translated/company.js:1684 templates/js/translated/order.js:347 +#: templates/js/translated/part.js:1080 +#: templates/js/translated/purchase_order.js:2201 +#: templates/js/translated/return_order.js:776 +#: templates/js/translated/sales_order.js:1067 +#: templates/js/translated/sales_order.js:1982 +#: templates/js/translated/stock.js:1533 templates/js/translated/stock.js:2427 +msgid "Notes" +msgstr "" + +#: InvenTree/format.py:164 +#, python-brace-format +msgid "Value '{name}' does not appear in pattern format" +msgstr "" + +#: InvenTree/format.py:175 +msgid "Provided value does not match required pattern: " +msgstr "" + +#: InvenTree/forms.py:128 +msgid "Enter password" +msgstr "" + +#: InvenTree/forms.py:129 +msgid "Enter new password" +msgstr "" + +#: InvenTree/forms.py:138 +msgid "Confirm password" +msgstr "" + +#: InvenTree/forms.py:139 +msgid "Confirm new password" +msgstr "" + +#: InvenTree/forms.py:143 +msgid "Old password" +msgstr "" + +#: InvenTree/forms.py:182 +msgid "Email (again)" +msgstr "" + +#: InvenTree/forms.py:186 +msgid "Email address confirmation" +msgstr "" + +#: InvenTree/forms.py:209 +msgid "You must type the same email each time." +msgstr "" + +#: InvenTree/forms.py:253 InvenTree/forms.py:261 +msgid "The provided primary email address is not valid." +msgstr "" + +#: InvenTree/forms.py:268 +msgid "The provided email domain is not approved." +msgstr "" + +#: InvenTree/forms.py:395 +msgid "Registration is disabled." +msgstr "" + +#: InvenTree/helpers.py:525 order/models.py:541 order/models.py:743 +msgid "Invalid quantity provided" +msgstr "" + +#: InvenTree/helpers.py:533 +msgid "Empty serial number string" +msgstr "" + +#: InvenTree/helpers.py:562 +msgid "Duplicate serial" +msgstr "" + +#: InvenTree/helpers.py:594 InvenTree/helpers.py:637 +#, python-brace-format +msgid "Invalid group range: {group}" +msgstr "" + +#: InvenTree/helpers.py:625 +#, python-brace-format +msgid "Group range {group} exceeds allowed quantity ({expected_quantity})" +msgstr "" + +#: InvenTree/helpers.py:655 InvenTree/helpers.py:662 InvenTree/helpers.py:681 +#, python-brace-format +msgid "Invalid group sequence: {group}" +msgstr "" + +#: InvenTree/helpers.py:691 +msgid "No serial numbers found" +msgstr "" + +#: InvenTree/helpers.py:696 +msgid "Number of unique serial numbers ({len(serials)}) must match quantity ({expected_quantity})" +msgstr "" + +#: InvenTree/helpers.py:814 +msgid "Remove HTML tags from this value" +msgstr "" + +#: InvenTree/helpers_model.py:150 +msgid "Connection error" +msgstr "" + +#: InvenTree/helpers_model.py:155 InvenTree/helpers_model.py:162 +msgid "Server responded with invalid status code" +msgstr "" + +#: InvenTree/helpers_model.py:158 +msgid "Exception occurred" +msgstr "" + +#: InvenTree/helpers_model.py:168 +msgid "Server responded with invalid Content-Length value" +msgstr "" + +#: InvenTree/helpers_model.py:171 +msgid "Image size is too large" +msgstr "" + +#: InvenTree/helpers_model.py:183 +msgid "Image download exceeded maximum size" +msgstr "" + +#: InvenTree/helpers_model.py:188 +msgid "Remote server returned empty response" +msgstr "" + +#: InvenTree/helpers_model.py:196 +msgid "Supplied URL is not a valid image file" +msgstr "" + +#: InvenTree/locales.py:18 +msgid "Bulgarian" +msgstr "" + +#: InvenTree/locales.py:19 +msgid "Czech" +msgstr "" + +#: InvenTree/locales.py:20 +msgid "Danish" +msgstr "" + +#: InvenTree/locales.py:21 +msgid "German" +msgstr "" + +#: InvenTree/locales.py:22 +msgid "Greek" +msgstr "" + +#: InvenTree/locales.py:23 +msgid "English" +msgstr "" + +#: InvenTree/locales.py:24 +msgid "Spanish" +msgstr "" + +#: InvenTree/locales.py:25 +msgid "Spanish (Mexican)" +msgstr "" + +#: InvenTree/locales.py:26 +msgid "Farsi / Persian" +msgstr "" + +#: InvenTree/locales.py:27 +msgid "Finnish" +msgstr "" + +#: InvenTree/locales.py:28 +msgid "French" +msgstr "" + +#: InvenTree/locales.py:29 +msgid "Hebrew" +msgstr "" + +#: InvenTree/locales.py:30 +msgid "Hindi" +msgstr "" + +#: InvenTree/locales.py:31 +msgid "Hungarian" +msgstr "" + +#: InvenTree/locales.py:32 +msgid "Italian" +msgstr "" + +#: InvenTree/locales.py:33 +msgid "Japanese" +msgstr "" + +#: InvenTree/locales.py:34 +msgid "Korean" +msgstr "" + +#: InvenTree/locales.py:35 +msgid "Latvian" +msgstr "" + +#: InvenTree/locales.py:36 +msgid "Dutch" +msgstr "" + +#: InvenTree/locales.py:37 +msgid "Norwegian" +msgstr "" + +#: InvenTree/locales.py:38 +msgid "Polish" +msgstr "" + +#: InvenTree/locales.py:39 +msgid "Portuguese" +msgstr "" + +#: InvenTree/locales.py:40 +msgid "Portuguese (Brazilian)" +msgstr "" + +#: InvenTree/locales.py:41 +msgid "Russian" +msgstr "" + +#: InvenTree/locales.py:42 +msgid "Slovak" +msgstr "" + +#: InvenTree/locales.py:43 +msgid "Slovenian" +msgstr "" + +#: InvenTree/locales.py:44 +msgid "Serbian" +msgstr "" + +#: InvenTree/locales.py:45 +msgid "Swedish" +msgstr "" + +#: InvenTree/locales.py:46 +msgid "Thai" +msgstr "" + +#: InvenTree/locales.py:47 +msgid "Turkish" +msgstr "" + +#: InvenTree/locales.py:48 +msgid "Vietnamese" +msgstr "" + +#: InvenTree/locales.py:49 +msgid "Chinese (Simplified)" +msgstr "" + +#: InvenTree/locales.py:50 +msgid "Chinese (Traditional)" +msgstr "" + +#: InvenTree/magic_login.py:28 +#, python-brace-format +msgid "[{site_name}] Log in to the app" +msgstr "" + +#: InvenTree/magic_login.py:38 company/models.py:133 +#: company/templates/company/company_base.html:138 +#: templates/InvenTree/settings/user.html:49 +#: templates/js/translated/company.js:677 +msgid "Email" +msgstr "" + +#: InvenTree/models.py:107 +msgid "Error running plugin validation" +msgstr "" + +#: InvenTree/models.py:162 +msgid "Metadata must be a python dict object" +msgstr "" + +#: InvenTree/models.py:168 +msgid "Plugin Metadata" +msgstr "" + +#: InvenTree/models.py:169 +msgid "JSON metadata field, for use by external plugins" +msgstr "" + +#: InvenTree/models.py:399 +msgid "Improperly formatted pattern" +msgstr "" + +#: InvenTree/models.py:406 +msgid "Unknown format key specified" +msgstr "" + +#: InvenTree/models.py:412 +msgid "Missing required format key" +msgstr "" + +#: InvenTree/models.py:423 +msgid "Reference field cannot be empty" +msgstr "" + +#: InvenTree/models.py:431 +msgid "Reference must match required pattern" +msgstr "" + +#: InvenTree/models.py:462 +msgid "Reference number is too large" +msgstr "" + +#: InvenTree/models.py:536 +msgid "Missing file" +msgstr "" + +#: InvenTree/models.py:537 +msgid "Missing external link" +msgstr "" + +#: InvenTree/models.py:558 stock/models.py:2444 +#: templates/js/translated/attachment.js:119 +#: templates/js/translated/attachment.js:326 +msgid "Attachment" +msgstr "" + +#: InvenTree/models.py:559 +msgid "Select file to attach" +msgstr "" + +#: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 +#: company/models.py:457 company/models.py:514 company/models.py:830 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 +#: part/admin.py:55 part/models.py:919 +#: part/templates/part/part_scheduling.html:11 +#: report/templates/report/inventree_build_order_base.html:164 +#: stock/admin.py:225 templates/js/translated/company.js:1319 +#: templates/js/translated/company.js:1673 templates/js/translated/order.js:351 +#: templates/js/translated/part.js:2456 +#: templates/js/translated/purchase_order.js:2041 +#: templates/js/translated/purchase_order.js:2205 +#: templates/js/translated/return_order.js:780 +#: templates/js/translated/sales_order.js:1056 +#: templates/js/translated/sales_order.js:1987 +msgid "Link" +msgstr "" + +#: InvenTree/models.py:568 build/models.py:315 part/models.py:920 +#: stock/models.py:819 +msgid "Link to external URL" +msgstr "" + +#: InvenTree/models.py:574 templates/js/translated/attachment.js:120 +#: templates/js/translated/attachment.js:341 +msgid "Comment" +msgstr "" + +#: InvenTree/models.py:575 +msgid "File comment" +msgstr "" + +#: InvenTree/models.py:583 InvenTree/models.py:584 common/models.py:2494 +#: common/models.py:2495 common/models.py:2719 common/models.py:2720 +#: common/models.py:2965 common/models.py:2966 part/models.py:3185 +#: part/models.py:3272 part/models.py:3365 part/models.py:3393 +#: plugin/models.py:250 plugin/models.py:251 +#: report/templates/report/inventree_test_report_base.html:105 +#: templates/js/translated/stock.js:3036 users/models.py:111 +msgid "User" +msgstr "" + +#: InvenTree/models.py:588 +msgid "upload date" +msgstr "" + +#: InvenTree/models.py:610 +msgid "Filename must not be empty" +msgstr "" + +#: InvenTree/models.py:621 +msgid "Invalid attachment directory" +msgstr "" + +#: InvenTree/models.py:651 +#, python-brace-format +msgid "Filename contains illegal character '{c}'" +msgstr "" + +#: InvenTree/models.py:654 +msgid "Filename missing extension" +msgstr "" + +#: InvenTree/models.py:663 +msgid "Attachment with this filename already exists" +msgstr "" + +#: InvenTree/models.py:670 +msgid "Error renaming file" +msgstr "" + +#: InvenTree/models.py:846 +msgid "Duplicate names cannot exist under the same parent" +msgstr "" + +#: InvenTree/models.py:863 +msgid "Invalid choice" +msgstr "" + +#: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 +#: machine/models.py:24 part/models.py:855 part/models.py:3616 +#: plugin/models.py:41 report/models.py:176 stock/models.py:76 +#: templates/InvenTree/settings/mixins/urls.html:13 +#: templates/InvenTree/settings/notifications.html:17 +#: templates/InvenTree/settings/plugin.html:83 +#: templates/InvenTree/settings/plugin_settings.html:22 +#: templates/InvenTree/settings/settings_staff_js.html:67 +#: templates/InvenTree/settings/settings_staff_js.html:446 +#: templates/js/translated/company.js:676 +#: templates/js/translated/company.js:724 +#: templates/js/translated/company.js:913 +#: templates/js/translated/company.js:1165 +#: templates/js/translated/company.js:1413 templates/js/translated/part.js:1186 +#: templates/js/translated/part.js:1474 templates/js/translated/part.js:1610 +#: templates/js/translated/part.js:2749 templates/js/translated/stock.js:2716 +msgid "Name" +msgstr "" + +#: InvenTree/models.py:899 build/models.py:188 +#: build/templates/build/detail.html:24 common/models.py:136 +#: company/models.py:522 company/models.py:838 +#: company/templates/company/company_base.html:77 +#: company/templates/company/manufacturer_part.html:75 +#: company/templates/company/supplier_part.html:107 label/models.py:127 +#: order/models.py:277 order/models.py:1316 part/admin.py:303 part/admin.py:414 +#: part/models.py:878 part/models.py:3631 part/templates/part/category.html:82 +#: part/templates/part/part_base.html:170 +#: part/templates/part/part_scheduling.html:12 report/models.py:189 +#: report/models.py:655 report/models.py:729 +#: report/templates/report/inventree_build_order_base.html:117 +#: stock/admin.py:55 stock/models.py:82 stock/templates/stock/location.html:125 +#: templates/InvenTree/settings/notifications.html:19 +#: templates/InvenTree/settings/plugin_settings.html:27 +#: templates/InvenTree/settings/settings_staff_js.html:170 +#: templates/InvenTree/settings/settings_staff_js.html:451 +#: templates/js/translated/bom.js:633 templates/js/translated/bom.js:963 +#: templates/js/translated/build.js:2137 templates/js/translated/company.js:519 +#: templates/js/translated/company.js:1330 +#: templates/js/translated/company.js:1641 templates/js/translated/index.js:119 +#: templates/js/translated/order.js:298 templates/js/translated/part.js:1238 +#: templates/js/translated/part.js:1483 templates/js/translated/part.js:1621 +#: templates/js/translated/part.js:1958 templates/js/translated/part.js:2355 +#: templates/js/translated/part.js:2785 templates/js/translated/part.js:2896 +#: templates/js/translated/plugin.js:80 +#: templates/js/translated/purchase_order.js:1707 +#: templates/js/translated/purchase_order.js:1850 +#: templates/js/translated/purchase_order.js:2023 +#: templates/js/translated/return_order.js:314 +#: templates/js/translated/sales_order.js:802 +#: templates/js/translated/sales_order.js:1812 +#: templates/js/translated/stock.js:1512 templates/js/translated/stock.js:2057 +#: templates/js/translated/stock.js:2748 templates/js/translated/stock.js:2831 +msgid "Description" +msgstr "" + +#: InvenTree/models.py:900 stock/models.py:83 +msgid "Description (optional)" +msgstr "" + +#: InvenTree/models.py:909 +msgid "parent" +msgstr "" + +#: InvenTree/models.py:915 templates/js/translated/part.js:2794 +#: templates/js/translated/stock.js:2757 +msgid "Path" +msgstr "" + +#: InvenTree/models.py:1021 +msgid "Markdown notes (optional)" +msgstr "" + +#: InvenTree/models.py:1050 +msgid "Barcode Data" +msgstr "" + +#: InvenTree/models.py:1051 +msgid "Third party barcode data" +msgstr "" + +#: InvenTree/models.py:1057 +msgid "Barcode Hash" +msgstr "" + +#: InvenTree/models.py:1058 +msgid "Unique hash of barcode data" +msgstr "" + +#: InvenTree/models.py:1111 +msgid "Existing barcode found" +msgstr "" + +#: InvenTree/models.py:1154 +msgid "Server Error" +msgstr "" + +#: InvenTree/models.py:1155 +msgid "An error has been logged by the server." +msgstr "" + +#: InvenTree/serializers.py:62 part/models.py:4169 +msgid "Must be a valid number" +msgstr "" + +#: InvenTree/serializers.py:99 company/models.py:183 +#: company/templates/company/company_base.html:112 part/models.py:2993 +#: templates/InvenTree/settings/settings_staff_js.html:44 +#: templates/currency_data.html:5 +msgid "Currency" +msgstr "" + +#: InvenTree/serializers.py:102 +msgid "Select currency from available options" +msgstr "" + +#: InvenTree/serializers.py:441 +msgid "You do not have permission to change this user role." +msgstr "" + +#: InvenTree/serializers.py:453 +msgid "Only superusers can create new users" +msgstr "" + +#: InvenTree/serializers.py:472 +msgid "Your account has been created." +msgstr "" + +#: InvenTree/serializers.py:474 +msgid "Please use the password reset function to login" +msgstr "" + +#: InvenTree/serializers.py:481 +msgid "Welcome to InvenTree" +msgstr "" + +#: InvenTree/serializers.py:542 +msgid "Filename" +msgstr "" + +#: InvenTree/serializers.py:576 +msgid "Invalid value" +msgstr "" + +#: InvenTree/serializers.py:596 +msgid "Data File" +msgstr "" + +#: InvenTree/serializers.py:597 +msgid "Select data file for upload" +msgstr "" + +#: InvenTree/serializers.py:614 +msgid "Unsupported file type" +msgstr "" + +#: InvenTree/serializers.py:620 +msgid "File is too large" +msgstr "" + +#: InvenTree/serializers.py:641 +msgid "No columns found in file" +msgstr "" + +#: InvenTree/serializers.py:644 +msgid "No data rows found in file" +msgstr "" + +#: InvenTree/serializers.py:757 +msgid "No data rows provided" +msgstr "" + +#: InvenTree/serializers.py:760 +msgid "No data columns supplied" +msgstr "" + +#: InvenTree/serializers.py:827 +#, python-brace-format +msgid "Missing required column: '{name}'" +msgstr "" + +#: InvenTree/serializers.py:836 +#, python-brace-format +msgid "Duplicate column: '{col}'" +msgstr "" + +#: InvenTree/serializers.py:859 +msgid "Remote Image" +msgstr "" + +#: InvenTree/serializers.py:860 +msgid "URL of remote image file" +msgstr "" + +#: InvenTree/serializers.py:878 +msgid "Downloading images from remote URL is not enabled" +msgstr "" + +#: InvenTree/status.py:66 part/serializers.py:1161 +msgid "Background worker check failed" +msgstr "" + +#: InvenTree/status.py:70 +msgid "Email backend not configured" +msgstr "" + +#: InvenTree/status.py:73 +msgid "InvenTree system health checks failed" +msgstr "" + +#: InvenTree/status_codes.py:12 InvenTree/status_codes.py:37 +#: InvenTree/status_codes.py:148 InvenTree/status_codes.py:164 +#: InvenTree/status_codes.py:182 generic/states/tests.py:17 +#: templates/js/translated/table_filters.js:598 +msgid "Pending" +msgstr "" + +#: InvenTree/status_codes.py:13 generic/states/tests.py:18 +msgid "Placed" +msgstr "" + +#: InvenTree/status_codes.py:14 InvenTree/status_codes.py:151 +#: InvenTree/status_codes.py:169 generic/states/tests.py:19 +#: order/templates/order/order_base.html:158 +#: order/templates/order/sales_order_base.html:161 +msgid "Complete" +msgstr "" + +#: InvenTree/status_codes.py:15 InvenTree/status_codes.py:44 +#: InvenTree/status_codes.py:150 InvenTree/status_codes.py:170 +msgid "Cancelled" +msgstr "" + +#: InvenTree/status_codes.py:16 InvenTree/status_codes.py:45 +#: InvenTree/status_codes.py:67 +msgid "Lost" +msgstr "" + +#: InvenTree/status_codes.py:17 InvenTree/status_codes.py:46 +#: InvenTree/status_codes.py:73 +msgid "Returned" +msgstr "" + +#: InvenTree/status_codes.py:40 InvenTree/status_codes.py:167 +msgid "In Progress" +msgstr "" + +#: InvenTree/status_codes.py:43 order/models.py:1566 +#: templates/js/translated/sales_order.js:1523 +#: templates/js/translated/sales_order.js:1644 +#: templates/js/translated/sales_order.js:1957 +msgid "Shipped" +msgstr "" + +#: InvenTree/status_codes.py:62 +msgid "OK" +msgstr "" + +#: InvenTree/status_codes.py:63 +msgid "Attention needed" +msgstr "" + +#: InvenTree/status_codes.py:64 +msgid "Damaged" +msgstr "" + +#: InvenTree/status_codes.py:65 +msgid "Destroyed" +msgstr "" + +#: InvenTree/status_codes.py:66 +msgid "Rejected" +msgstr "" + +#: InvenTree/status_codes.py:70 +msgid "Quarantined" +msgstr "" + +#: InvenTree/status_codes.py:91 +msgid "Legacy stock tracking entry" +msgstr "" + +#: InvenTree/status_codes.py:93 templates/js/translated/stock.js:544 +msgid "Stock item created" +msgstr "" + +#: InvenTree/status_codes.py:96 +msgid "Edited stock item" +msgstr "" + +#: InvenTree/status_codes.py:97 +msgid "Assigned serial number" +msgstr "" + +#: InvenTree/status_codes.py:100 +msgid "Stock counted" +msgstr "" + +#: InvenTree/status_codes.py:101 +msgid "Stock manually added" +msgstr "" + +#: InvenTree/status_codes.py:102 +msgid "Stock manually removed" +msgstr "" + +#: InvenTree/status_codes.py:105 +msgid "Location changed" +msgstr "" + +#: InvenTree/status_codes.py:106 +msgid "Stock updated" +msgstr "" + +#: InvenTree/status_codes.py:109 +msgid "Installed into assembly" +msgstr "" + +#: InvenTree/status_codes.py:110 +msgid "Removed from assembly" +msgstr "" + +#: InvenTree/status_codes.py:112 +msgid "Installed component item" +msgstr "" + +#: InvenTree/status_codes.py:113 +msgid "Removed component item" +msgstr "" + +#: InvenTree/status_codes.py:116 +msgid "Split from parent item" +msgstr "" + +#: InvenTree/status_codes.py:117 +msgid "Split child item" +msgstr "" + +#: InvenTree/status_codes.py:120 templates/js/translated/stock.js:1855 +msgid "Merged stock items" +msgstr "" + +#: InvenTree/status_codes.py:123 +msgid "Converted to variant" +msgstr "" + +#: InvenTree/status_codes.py:126 +msgid "Build order output created" +msgstr "" + +#: InvenTree/status_codes.py:127 +msgid "Build order output completed" +msgstr "" + +#: InvenTree/status_codes.py:128 +msgid "Build order output rejected" +msgstr "" + +#: InvenTree/status_codes.py:129 templates/js/translated/stock.js:1761 +msgid "Consumed by build order" +msgstr "" + +#: InvenTree/status_codes.py:132 +msgid "Shipped against Sales Order" +msgstr "" + +#: InvenTree/status_codes.py:135 +msgid "Received against Purchase Order" +msgstr "" + +#: InvenTree/status_codes.py:138 +msgid "Returned against Return Order" +msgstr "" + +#: InvenTree/status_codes.py:141 templates/js/translated/table_filters.js:375 +msgid "Sent to customer" +msgstr "" + +#: InvenTree/status_codes.py:142 +msgid "Returned from customer" +msgstr "" + +#: InvenTree/status_codes.py:149 +msgid "Production" +msgstr "" + +#: InvenTree/status_codes.py:185 +msgid "Return" +msgstr "" + +#: InvenTree/status_codes.py:188 +msgid "Repair" +msgstr "" + +#: InvenTree/status_codes.py:191 +msgid "Replace" +msgstr "" + +#: InvenTree/status_codes.py:194 +msgid "Refund" +msgstr "" + +#: InvenTree/status_codes.py:197 +msgid "Reject" +msgstr "" + +#: InvenTree/templatetags/inventree_extras.py:183 +msgid "Unknown database" +msgstr "" + +#: InvenTree/validators.py:31 InvenTree/validators.py:33 +msgid "Invalid physical unit" +msgstr "" + +#: InvenTree/validators.py:39 +msgid "Not a valid currency code" +msgstr "" + +#: InvenTree/validators.py:121 InvenTree/validators.py:137 +msgid "Overage value must not be negative" +msgstr "" + +#: InvenTree/validators.py:139 +msgid "Overage must not exceed 100%" +msgstr "" + +#: InvenTree/validators.py:145 +msgid "Invalid value for overage" +msgstr "" + +#: InvenTree/views.py:400 templates/InvenTree/settings/user.html:23 +msgid "Edit User Information" +msgstr "" + +#: InvenTree/views.py:412 templates/InvenTree/settings/user.html:20 +msgid "Set Password" +msgstr "" + +#: InvenTree/views.py:434 +msgid "Password fields must match" +msgstr "" + +#: InvenTree/views.py:442 +msgid "Wrong password provided" +msgstr "" + +#: InvenTree/views.py:650 templates/navbar.html:160 +msgid "System Information" +msgstr "" + +#: InvenTree/views.py:657 templates/navbar.html:171 +msgid "About InvenTree" +msgstr "" + +#: build/api.py:238 +msgid "Build must be cancelled before it can be deleted" +msgstr "" + +#: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 +#: templates/js/translated/table_filters.js:190 +#: templates/js/translated/table_filters.js:583 +msgid "Consumable" +msgstr "" + +#: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 +#: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 +#: templates/js/translated/build.js:2528 +#: templates/js/translated/table_filters.js:186 +#: templates/js/translated/table_filters.js:215 +#: templates/js/translated/table_filters.js:587 +msgid "Optional" +msgstr "" + +#: build/api.py:284 templates/js/translated/table_filters.js:408 +#: templates/js/translated/table_filters.js:579 +msgid "Tracked" +msgstr "" + +#: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 +#: templates/js/translated/build.js:2628 +#: templates/js/translated/sales_order.js:1929 +#: templates/js/translated/table_filters.js:571 +msgid "Allocated" +msgstr "" + +#: build/api.py:294 company/models.py:902 company/serializers.py:383 +#: company/templates/company/supplier_part.html:114 +#: templates/email/build_order_required_stock.html:19 +#: templates/email/low_stock_notification.html:17 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 +#: templates/js/translated/index.js:123 +#: templates/js/translated/model_renderers.js:228 +#: templates/js/translated/part.js:692 templates/js/translated/part.js:694 +#: templates/js/translated/part.js:699 +#: templates/js/translated/table_filters.js:340 +#: templates/js/translated/table_filters.js:575 +msgid "Available" +msgstr "" + +#: build/models.py:74 build/templates/build/build_base.html:9 +#: build/templates/build/build_base.html:27 +#: report/templates/report/inventree_build_order_base.html:105 +#: templates/email/build_order_completed.html:16 +#: templates/email/overdue_build_order.html:15 +#: templates/js/translated/build.js:972 templates/js/translated/stock.js:2892 +msgid "Build Order" +msgstr "" + +#: build/models.py:75 build/templates/build/build_base.html:13 +#: build/templates/build/index.html:8 build/templates/build/index.html:12 +#: order/templates/order/sales_order_detail.html:111 +#: order/templates/order/so_sidebar.html:13 +#: part/templates/part/part_sidebar.html:22 templates/InvenTree/index.html:196 +#: templates/InvenTree/search.html:141 +#: templates/InvenTree/settings/sidebar.html:55 +#: templates/js/translated/search.js:186 users/models.py:207 +msgid "Build Orders" +msgstr "" + +#: build/models.py:116 +msgid "Invalid choice for parent build" +msgstr "" + +#: build/models.py:127 order/models.py:239 +msgid "Responsible user or group must be specified" +msgstr "" + +#: build/models.py:133 +msgid "Build order part cannot be changed" +msgstr "" + +#: build/models.py:179 +msgid "Build Order Reference" +msgstr "" + +#: build/models.py:180 order/models.py:442 order/models.py:898 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 +#: part/models.py:4062 part/templates/part/upload_bom.html:54 +#: report/templates/report/inventree_bill_of_materials_report.html:139 +#: report/templates/report/inventree_po_report_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:26 +#: report/templates/report/inventree_so_report_base.html:28 +#: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 +#: templates/js/translated/pricing.js:386 +#: templates/js/translated/purchase_order.js:2066 +#: templates/js/translated/return_order.js:729 +#: templates/js/translated/sales_order.js:1818 +msgid "Reference" +msgstr "" + +#: build/models.py:191 +msgid "Brief description of the build (optional)" +msgstr "" + +#: build/models.py:199 build/templates/build/build_base.html:183 +#: build/templates/build/detail.html:87 +msgid "Parent Build" +msgstr "" + +#: build/models.py:200 +msgid "BuildOrder to which this build is allocated" +msgstr "" + +#: build/models.py:205 build/templates/build/build_base.html:97 +#: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 +#: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 +#: part/models.py:3148 part/models.py:3292 part/models.py:3315 +#: part/models.py:3336 part/models.py:3358 part/models.py:3468 +#: part/models.py:3764 part/models.py:3920 part/models.py:4013 +#: part/models.py:4374 part/serializers.py:1107 part/serializers.py:1713 +#: part/templates/part/part_app_base.html:8 +#: part/templates/part/part_pricing.html:12 +#: part/templates/part/upload_bom.html:52 +#: report/templates/report/inventree_bill_of_materials_report.html:110 +#: report/templates/report/inventree_bill_of_materials_report.html:137 +#: report/templates/report/inventree_build_order_base.html:109 +#: report/templates/report/inventree_po_report_base.html:27 +#: report/templates/report/inventree_return_order_report_base.html:24 +#: report/templates/report/inventree_slr_report.html:102 +#: report/templates/report/inventree_so_report_base.html:27 +#: stock/serializers.py:267 stock/serializers.py:689 +#: templates/InvenTree/search.html:82 +#: templates/email/build_order_completed.html:17 +#: templates/email/build_order_required_stock.html:17 +#: templates/email/low_stock_notification.html:15 +#: templates/email/overdue_build_order.html:16 +#: templates/js/translated/barcode.js:546 templates/js/translated/bom.js:632 +#: templates/js/translated/bom.js:769 templates/js/translated/bom.js:905 +#: templates/js/translated/build.js:1309 templates/js/translated/build.js:1740 +#: templates/js/translated/build.js:2160 templates/js/translated/build.js:2333 +#: templates/js/translated/company.js:348 +#: templates/js/translated/company.js:1116 +#: templates/js/translated/company.js:1271 +#: templates/js/translated/company.js:1559 templates/js/translated/index.js:109 +#: templates/js/translated/part.js:1943 templates/js/translated/part.js:2015 +#: templates/js/translated/part.js:2324 templates/js/translated/pricing.js:369 +#: templates/js/translated/purchase_order.js:751 +#: templates/js/translated/purchase_order.js:1304 +#: templates/js/translated/purchase_order.js:1849 +#: templates/js/translated/purchase_order.js:2008 +#: templates/js/translated/return_order.js:539 +#: templates/js/translated/return_order.js:710 +#: templates/js/translated/sales_order.js:300 +#: templates/js/translated/sales_order.js:1197 +#: templates/js/translated/sales_order.js:1598 +#: templates/js/translated/sales_order.js:1796 +#: templates/js/translated/stock.js:676 templates/js/translated/stock.js:842 +#: templates/js/translated/stock.js:1058 templates/js/translated/stock.js:1996 +#: templates/js/translated/stock.js:2857 templates/js/translated/stock.js:3090 +#: templates/js/translated/stock.js:3236 +msgid "Part" +msgstr "" + +#: build/models.py:213 +msgid "Select part to build" +msgstr "" + +#: build/models.py:218 +msgid "Sales Order Reference" +msgstr "" + +#: build/models.py:222 +msgid "SalesOrder to which this build is allocated" +msgstr "" + +#: build/models.py:227 build/serializers.py:964 +#: templates/js/translated/build.js:1728 +#: templates/js/translated/sales_order.js:1185 +msgid "Source Location" +msgstr "" + +#: build/models.py:231 +msgid "Select location to take stock from for this build (leave blank to take from any stock location)" +msgstr "" + +#: build/models.py:236 +msgid "Destination Location" +msgstr "" + +#: build/models.py:240 +msgid "Select location where the completed items will be stored" +msgstr "" + +#: build/models.py:244 +msgid "Build Quantity" +msgstr "" + +#: build/models.py:247 +msgid "Number of stock items to build" +msgstr "" + +#: build/models.py:251 +msgid "Completed items" +msgstr "" + +#: build/models.py:253 +msgid "Number of stock items which have been completed" +msgstr "" + +#: build/models.py:257 +msgid "Build Status" +msgstr "" + +#: build/models.py:261 +msgid "Build status code" +msgstr "" + +#: build/models.py:270 build/serializers.py:280 order/serializers.py:577 +#: stock/models.py:823 stock/serializers.py:1333 +#: templates/js/translated/purchase_order.js:1129 +msgid "Batch Code" +msgstr "" + +#: build/models.py:274 build/serializers.py:281 +msgid "Batch code for this build output" +msgstr "" + +#: build/models.py:277 order/models.py:304 part/models.py:1079 +#: part/templates/part/part_base.html:310 +#: templates/js/translated/return_order.js:339 +#: templates/js/translated/sales_order.js:827 +msgid "Creation Date" +msgstr "" + +#: build/models.py:281 +msgid "Target completion date" +msgstr "" + +#: build/models.py:282 +msgid "Target date for build completion. Build will be overdue after this date." +msgstr "" + +#: build/models.py:285 order/models.py:500 order/models.py:2043 +#: templates/js/translated/build.js:2245 +msgid "Completion Date" +msgstr "" + +#: build/models.py:291 +msgid "completed by" +msgstr "" + +#: build/models.py:299 templates/js/translated/build.js:2205 +msgid "Issued by" +msgstr "" + +#: build/models.py:300 +msgid "User who issued this build order" +msgstr "" + +#: build/models.py:308 build/templates/build/build_base.html:204 +#: build/templates/build/detail.html:122 common/models.py:145 +#: order/models.py:322 order/templates/order/order_base.html:217 +#: order/templates/order/return_order_base.html:188 +#: order/templates/order/sales_order_base.html:228 part/models.py:1096 +#: part/templates/part/part_base.html:390 +#: report/templates/report/inventree_build_order_base.html:158 +#: templates/InvenTree/settings/settings_staff_js.html:150 +#: templates/js/translated/build.js:2217 +#: templates/js/translated/purchase_order.js:1764 +#: templates/js/translated/return_order.js:359 +#: templates/js/translated/table_filters.js:531 +msgid "Responsible" +msgstr "" + +#: build/models.py:309 +msgid "User or group responsible for this build order" +msgstr "" + +#: build/models.py:314 build/templates/build/detail.html:108 +#: company/templates/company/manufacturer_part.html:107 +#: company/templates/company/supplier_part.html:194 +#: order/templates/order/order_base.html:167 +#: order/templates/order/return_order_base.html:145 +#: order/templates/order/sales_order_base.html:180 +#: part/templates/part/part_base.html:383 stock/models.py:819 +#: stock/templates/stock/item_base.html:200 +#: templates/js/translated/company.js:1019 +msgid "External Link" +msgstr "" + +#: build/models.py:319 +msgid "Build Priority" +msgstr "" + +#: build/models.py:322 +msgid "Priority of this build order" +msgstr "" + +#: build/models.py:329 common/models.py:129 order/admin.py:18 +#: order/models.py:286 templates/InvenTree/settings/settings_staff_js.html:146 +#: templates/js/translated/build.js:2142 +#: templates/js/translated/purchase_order.js:1711 +#: templates/js/translated/return_order.js:318 +#: templates/js/translated/sales_order.js:806 +#: templates/js/translated/table_filters.js:48 +#: templates/project_code_data.html:6 +msgid "Project Code" +msgstr "" + +#: build/models.py:330 +msgid "Project code for this build order" +msgstr "" + +#: build/models.py:581 +#, python-brace-format +msgid "Build order {build} has been completed" +msgstr "" + +#: build/models.py:587 +msgid "A build order has been completed" +msgstr "" + +#: build/models.py:805 build/models.py:880 +msgid "No build output specified" +msgstr "" + +#: build/models.py:808 +msgid "Build output is already completed" +msgstr "" + +#: build/models.py:811 +msgid "Build output does not match Build Order" +msgstr "" + +#: build/models.py:884 build/serializers.py:223 build/serializers.py:262 +#: build/serializers.py:831 order/models.py:538 order/serializers.py:429 +#: order/serializers.py:572 part/serializers.py:1471 part/serializers.py:1871 +#: stock/models.py:662 stock/models.py:1474 stock/serializers.py:472 +msgid "Quantity must be greater than zero" +msgstr "" + +#: build/models.py:889 build/serializers.py:228 +msgid "Quantity cannot be greater than the output quantity" +msgstr "" + +#: build/models.py:946 build/serializers.py:533 +#, python-brace-format +msgid "Build output {serial} has not passed all required tests" +msgstr "" + +#: build/models.py:1308 +msgid "Build object" +msgstr "" + +#: build/models.py:1322 build/models.py:1578 build/serializers.py:210 +#: build/serializers.py:247 build/templates/build/build_base.html:102 +#: build/templates/build/detail.html:34 common/models.py:2516 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 +#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 +#: part/forms.py:48 part/models.py:3162 part/models.py:4035 +#: part/templates/part/part_pricing.html:16 +#: part/templates/part/upload_bom.html:53 +#: report/templates/report/inventree_bill_of_materials_report.html:138 +#: report/templates/report/inventree_build_order_base.html:113 +#: report/templates/report/inventree_po_report_base.html:29 +#: report/templates/report/inventree_slr_report.html:104 +#: report/templates/report/inventree_so_report_base.html:29 +#: report/templates/report/inventree_test_report_base.html:90 +#: report/templates/report/inventree_test_report_base.html:170 +#: stock/admin.py:160 stock/serializers.py:463 +#: stock/templates/stock/item_base.html:287 +#: stock/templates/stock/item_base.html:295 +#: stock/templates/stock/item_base.html:342 +#: templates/email/build_order_completed.html:18 +#: templates/js/translated/barcode.js:548 templates/js/translated/bom.js:771 +#: templates/js/translated/bom.js:981 templates/js/translated/build.js:521 +#: templates/js/translated/build.js:737 templates/js/translated/build.js:1366 +#: templates/js/translated/build.js:1743 templates/js/translated/build.js:2355 +#: templates/js/translated/company.js:1818 +#: templates/js/translated/model_renderers.js:230 +#: templates/js/translated/order.js:304 templates/js/translated/part.js:961 +#: templates/js/translated/part.js:1811 templates/js/translated/part.js:3341 +#: templates/js/translated/pricing.js:381 +#: templates/js/translated/pricing.js:474 +#: templates/js/translated/pricing.js:522 +#: templates/js/translated/pricing.js:616 +#: templates/js/translated/purchase_order.js:754 +#: templates/js/translated/purchase_order.js:1853 +#: templates/js/translated/purchase_order.js:2072 +#: templates/js/translated/sales_order.js:317 +#: templates/js/translated/sales_order.js:1199 +#: templates/js/translated/sales_order.js:1518 +#: templates/js/translated/sales_order.js:1608 +#: templates/js/translated/sales_order.js:1698 +#: templates/js/translated/sales_order.js:1824 +#: templates/js/translated/stock.js:564 templates/js/translated/stock.js:702 +#: templates/js/translated/stock.js:873 templates/js/translated/stock.js:3021 +#: templates/js/translated/stock.js:3104 +msgid "Quantity" +msgstr "" + +#: build/models.py:1323 +msgid "Required quantity for build order" +msgstr "" + +#: build/models.py:1403 +msgid "Build item must specify a build output, as master part is marked as trackable" +msgstr "" + +#: build/models.py:1412 +#, python-brace-format +msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" +msgstr "" + +#: build/models.py:1422 order/models.py:1869 +msgid "Stock item is over-allocated" +msgstr "" + +#: build/models.py:1428 order/models.py:1872 +msgid "Allocation quantity must be greater than zero" +msgstr "" + +#: build/models.py:1434 +msgid "Quantity must be 1 for serialized stock" +msgstr "" + +#: build/models.py:1493 +msgid "Selected stock item does not match BOM line" +msgstr "" + +#: build/models.py:1565 build/serializers.py:811 order/serializers.py:1179 +#: order/serializers.py:1200 stock/serializers.py:566 stock/serializers.py:1052 +#: stock/serializers.py:1164 stock/templates/stock/item_base.html:10 +#: stock/templates/stock/item_base.html:23 +#: stock/templates/stock/item_base.html:194 +#: templates/js/translated/build.js:1742 +#: templates/js/translated/sales_order.js:301 +#: templates/js/translated/sales_order.js:1198 +#: templates/js/translated/sales_order.js:1499 +#: templates/js/translated/sales_order.js:1504 +#: templates/js/translated/sales_order.js:1605 +#: templates/js/translated/sales_order.js:1692 +#: templates/js/translated/stock.js:677 templates/js/translated/stock.js:843 +#: templates/js/translated/stock.js:2977 +msgid "Stock Item" +msgstr "" + +#: build/models.py:1566 +msgid "Source stock item" +msgstr "" + +#: build/models.py:1579 +msgid "Stock quantity to allocate to build" +msgstr "" + +#: build/models.py:1587 +msgid "Install into" +msgstr "" + +#: build/models.py:1588 +msgid "Destination stock item" +msgstr "" + +#: build/serializers.py:160 build/serializers.py:840 +#: templates/js/translated/build.js:1319 +msgid "Build Output" +msgstr "" + +#: build/serializers.py:172 +msgid "Build output does not match the parent build" +msgstr "" + +#: build/serializers.py:176 +msgid "Output part does not match BuildOrder part" +msgstr "" + +#: build/serializers.py:180 +msgid "This build output has already been completed" +msgstr "" + +#: build/serializers.py:191 +msgid "This build output is not fully allocated" +msgstr "" + +#: build/serializers.py:211 build/serializers.py:248 +msgid "Enter quantity for build output" +msgstr "" + +#: build/serializers.py:269 +msgid "Integer quantity required for trackable parts" +msgstr "" + +#: build/serializers.py:272 +msgid "Integer quantity required, as the bill of materials contains trackable parts" +msgstr "" + +#: build/serializers.py:287 order/serializers.py:585 order/serializers.py:1339 +#: stock/serializers.py:483 templates/js/translated/purchase_order.js:1153 +#: templates/js/translated/stock.js:367 templates/js/translated/stock.js:565 +msgid "Serial Numbers" +msgstr "" + +#: build/serializers.py:288 +msgid "Enter serial numbers for build outputs" +msgstr "" + +#: build/serializers.py:301 +msgid "Auto Allocate Serial Numbers" +msgstr "" + +#: build/serializers.py:302 +msgid "Automatically allocate required items with matching serial numbers" +msgstr "" + +#: build/serializers.py:337 stock/api.py:995 +msgid "The following serial numbers already exist or are invalid" +msgstr "" + +#: build/serializers.py:388 build/serializers.py:450 build/serializers.py:539 +msgid "A list of build outputs must be provided" +msgstr "" + +#: build/serializers.py:426 build/serializers.py:498 order/serializers.py:561 +#: order/serializers.py:669 order/serializers.py:1675 part/serializers.py:1127 +#: stock/serializers.py:494 stock/serializers.py:654 stock/serializers.py:750 +#: stock/serializers.py:1196 stock/serializers.py:1452 +#: stock/templates/stock/item_base.html:394 +#: templates/js/translated/barcode.js:547 +#: templates/js/translated/barcode.js:795 templates/js/translated/build.js:999 +#: templates/js/translated/build.js:2370 +#: templates/js/translated/purchase_order.js:1178 +#: templates/js/translated/purchase_order.js:1268 +#: templates/js/translated/sales_order.js:1511 +#: templates/js/translated/sales_order.js:1619 +#: templates/js/translated/sales_order.js:1627 +#: templates/js/translated/sales_order.js:1706 +#: templates/js/translated/stock.js:678 templates/js/translated/stock.js:844 +#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:2200 +#: templates/js/translated/stock.js:2871 +msgid "Location" +msgstr "" + +#: build/serializers.py:427 +msgid "Stock location for scrapped outputs" +msgstr "" + +#: build/serializers.py:433 +msgid "Discard Allocations" +msgstr "" + +#: build/serializers.py:434 +msgid "Discard any stock allocations for scrapped outputs" +msgstr "" + +#: build/serializers.py:439 +msgid "Reason for scrapping build output(s)" +msgstr "" + +#: build/serializers.py:499 +msgid "Location for completed build outputs" +msgstr "" + +#: build/serializers.py:505 build/templates/build/build_base.html:151 +#: build/templates/build/detail.html:62 order/models.py:922 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 +#: stock/serializers.py:801 stock/serializers.py:1340 +#: stock/templates/stock/item_base.html:427 +#: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 +#: templates/js/translated/purchase_order.js:1308 +#: templates/js/translated/purchase_order.js:1723 +#: templates/js/translated/return_order.js:331 +#: templates/js/translated/sales_order.js:819 +#: templates/js/translated/stock.js:2175 templates/js/translated/stock.js:2995 +#: templates/js/translated/stock.js:3120 +msgid "Status" +msgstr "" + +#: build/serializers.py:511 +msgid "Accept Incomplete Allocation" +msgstr "" + +#: build/serializers.py:512 +msgid "Complete outputs if stock has not been fully allocated" +msgstr "" + +#: build/serializers.py:592 +msgid "Remove Allocated Stock" +msgstr "" + +#: build/serializers.py:593 +msgid "Subtract any stock which has already been allocated to this build" +msgstr "" + +#: build/serializers.py:599 +msgid "Remove Incomplete Outputs" +msgstr "" + +#: build/serializers.py:600 +msgid "Delete any build outputs which have not been completed" +msgstr "" + +#: build/serializers.py:627 +msgid "Not permitted" +msgstr "" + +#: build/serializers.py:628 +msgid "Accept as consumed by this build order" +msgstr "" + +#: build/serializers.py:629 +msgid "Deallocate before completing this build order" +msgstr "" + +#: build/serializers.py:651 +msgid "Overallocated Stock" +msgstr "" + +#: build/serializers.py:653 +msgid "How do you want to handle extra stock items assigned to the build order" +msgstr "" + +#: build/serializers.py:663 +msgid "Some stock items have been overallocated" +msgstr "" + +#: build/serializers.py:668 +msgid "Accept Unallocated" +msgstr "" + +#: build/serializers.py:669 +msgid "Accept that stock items have not been fully allocated to this build order" +msgstr "" + +#: build/serializers.py:679 templates/js/translated/build.js:315 +msgid "Required stock has not been fully allocated" +msgstr "" + +#: build/serializers.py:684 order/serializers.py:297 order/serializers.py:1242 +msgid "Accept Incomplete" +msgstr "" + +#: build/serializers.py:685 +msgid "Accept that the required number of build outputs have not been completed" +msgstr "" + +#: build/serializers.py:695 templates/js/translated/build.js:319 +msgid "Required build quantity has not been completed" +msgstr "" + +#: build/serializers.py:704 templates/js/translated/build.js:303 +msgid "Build order has incomplete outputs" +msgstr "" + +#: build/serializers.py:734 +msgid "Build Line" +msgstr "" + +#: build/serializers.py:744 +msgid "Build output" +msgstr "" + +#: build/serializers.py:752 +msgid "Build output must point to the same build" +msgstr "" + +#: build/serializers.py:788 +msgid "Build Line Item" +msgstr "" + +#: build/serializers.py:802 +msgid "bom_item.part must point to the same part as the build order" +msgstr "" + +#: build/serializers.py:817 stock/serializers.py:1065 +msgid "Item must be in stock" +msgstr "" + +#: build/serializers.py:865 order/serializers.py:1233 +#, python-brace-format +msgid "Available quantity ({q}) exceeded" +msgstr "" + +#: build/serializers.py:871 +msgid "Build output must be specified for allocation of tracked parts" +msgstr "" + +#: build/serializers.py:878 +msgid "Build output cannot be specified for allocation of untracked parts" +msgstr "" + +#: build/serializers.py:902 order/serializers.py:1485 +msgid "Allocation items must be provided" +msgstr "" + +#: build/serializers.py:965 +msgid "Stock location where parts are to be sourced (leave blank to take from any location)" +msgstr "" + +#: build/serializers.py:973 +msgid "Exclude Location" +msgstr "" + +#: build/serializers.py:974 +msgid "Exclude stock items from this selected location" +msgstr "" + +#: build/serializers.py:979 +msgid "Interchangeable Stock" +msgstr "" + +#: build/serializers.py:980 +msgid "Stock items in multiple locations can be used interchangeably" +msgstr "" + +#: build/serializers.py:985 +msgid "Substitute Stock" +msgstr "" + +#: build/serializers.py:986 +msgid "Allow allocation of substitute parts" +msgstr "" + +#: build/serializers.py:991 +msgid "Optional Items" +msgstr "" + +#: build/serializers.py:992 +msgid "Allocate optional BOM items to build order" +msgstr "" + +#: build/serializers.py:1097 part/models.py:3930 part/models.py:4366 +#: stock/api.py:758 +msgid "BOM Item" +msgstr "" + +#: build/serializers.py:1106 templates/js/translated/index.js:130 +msgid "Allocated Stock" +msgstr "" + +#: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 +#: part/serializers.py:817 part/serializers.py:1489 +#: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 +#: templates/js/translated/part.js:2148 +#: templates/js/translated/table_filters.js:170 +msgid "On Order" +msgstr "" + +#: build/serializers.py:1116 part/serializers.py:1491 +#: templates/js/translated/build.js:2616 +#: templates/js/translated/table_filters.js:360 +msgid "In Production" +msgstr "" + +#: build/serializers.py:1121 part/bom.py:172 part/serializers.py:1514 +#: part/templates/part/part_base.html:192 +#: templates/js/translated/sales_order.js:1893 +msgid "Available Stock" +msgstr "" + +#: build/tasks.py:172 +msgid "Stock required for build order" +msgstr "" + +#: build/tasks.py:189 +msgid "Overdue Build Order" +msgstr "" + +#: build/tasks.py:194 +#, python-brace-format +msgid "Build order {bo} is now overdue" +msgstr "" + +#: build/templates/build/build_base.html:18 +msgid "Part thumbnail" +msgstr "" + +#: build/templates/build/build_base.html:38 +#: company/templates/company/supplier_part.html:35 +#: order/templates/order/order_base.html:29 +#: order/templates/order/return_order_base.html:38 +#: order/templates/order/sales_order_base.html:38 +#: part/templates/part/part_base.html:41 +#: stock/templates/stock/item_base.html:40 +#: stock/templates/stock/location.html:55 +#: templates/js/translated/filters.js:335 +msgid "Barcode actions" +msgstr "" + +#: build/templates/build/build_base.html:42 +#: company/templates/company/supplier_part.html:39 +#: order/templates/order/order_base.html:33 +#: order/templates/order/return_order_base.html:42 +#: order/templates/order/sales_order_base.html:42 +#: part/templates/part/part_base.html:44 +#: stock/templates/stock/item_base.html:44 +#: stock/templates/stock/location.html:57 templates/qr_button.html:1 +msgid "Show QR Code" +msgstr "" + +#: build/templates/build/build_base.html:45 +#: company/templates/company/supplier_part.html:41 +#: order/templates/order/order_base.html:36 +#: order/templates/order/return_order_base.html:45 +#: order/templates/order/sales_order_base.html:45 +#: part/templates/part/part_base.html:47 +#: stock/templates/stock/item_base.html:47 +#: stock/templates/stock/location.html:59 +#: templates/js/translated/barcode.js:496 +#: templates/js/translated/barcode.js:501 +msgid "Unlink Barcode" +msgstr "" + +#: build/templates/build/build_base.html:47 +#: company/templates/company/supplier_part.html:43 +#: order/templates/order/order_base.html:38 +#: order/templates/order/return_order_base.html:47 +#: order/templates/order/sales_order_base.html:47 +#: part/templates/part/part_base.html:49 +#: stock/templates/stock/item_base.html:49 +#: stock/templates/stock/location.html:61 +msgid "Link Barcode" +msgstr "" + +#: build/templates/build/build_base.html:56 +#: order/templates/order/order_base.html:46 +#: order/templates/order/return_order_base.html:55 +#: order/templates/order/sales_order_base.html:55 +msgid "Print actions" +msgstr "" + +#: build/templates/build/build_base.html:60 +msgid "Print build order report" +msgstr "" + +#: build/templates/build/build_base.html:67 +msgid "Build actions" +msgstr "" + +#: build/templates/build/build_base.html:71 +msgid "Edit Build" +msgstr "" + +#: build/templates/build/build_base.html:73 +msgid "Cancel Build" +msgstr "" + +#: build/templates/build/build_base.html:76 +msgid "Duplicate Build" +msgstr "" + +#: build/templates/build/build_base.html:79 +msgid "Delete Build" +msgstr "" + +#: build/templates/build/build_base.html:84 +#: build/templates/build/build_base.html:85 +msgid "Complete Build" +msgstr "" + +#: build/templates/build/build_base.html:107 +msgid "Build Description" +msgstr "" + +#: build/templates/build/build_base.html:117 +msgid "No build outputs have been created for this build order" +msgstr "" + +#: build/templates/build/build_base.html:124 +msgid "Build Order is ready to mark as completed" +msgstr "" + +#: build/templates/build/build_base.html:129 +msgid "Build Order cannot be completed as outstanding outputs remain" +msgstr "" + +#: build/templates/build/build_base.html:134 +msgid "Required build quantity has not yet been completed" +msgstr "" + +#: build/templates/build/build_base.html:139 +msgid "Stock has not been fully allocated to this Build Order" +msgstr "" + +#: build/templates/build/build_base.html:160 +#: build/templates/build/detail.html:138 order/models.py:297 +#: order/models.py:1294 order/templates/order/order_base.html:186 +#: order/templates/order/return_order_base.html:164 +#: order/templates/order/sales_order_base.html:192 +#: report/templates/report/inventree_build_order_base.html:125 +#: templates/js/translated/build.js:2237 templates/js/translated/part.js:1830 +#: templates/js/translated/purchase_order.js:1740 +#: templates/js/translated/purchase_order.js:2148 +#: templates/js/translated/return_order.js:347 +#: templates/js/translated/return_order.js:751 +#: templates/js/translated/sales_order.js:835 +#: templates/js/translated/sales_order.js:1867 +msgid "Target Date" +msgstr "" + +#: build/templates/build/build_base.html:165 +#, python-format +msgid "This build was due on %(target)s" +msgstr "" + +#: build/templates/build/build_base.html:165 +#: build/templates/build/build_base.html:222 +#: order/templates/order/order_base.html:122 +#: order/templates/order/return_order_base.html:117 +#: order/templates/order/sales_order_base.html:122 +#: templates/js/translated/table_filters.js:98 +#: templates/js/translated/table_filters.js:524 +#: templates/js/translated/table_filters.js:626 +#: templates/js/translated/table_filters.js:667 +msgid "Overdue" +msgstr "" + +#: build/templates/build/build_base.html:177 +#: build/templates/build/detail.html:67 build/templates/build/sidebar.html:13 +msgid "Completed Outputs" +msgstr "" + +#: build/templates/build/build_base.html:190 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 +#: order/templates/order/sales_order_base.html:9 +#: order/templates/order/sales_order_base.html:28 +#: report/templates/report/inventree_build_order_base.html:135 +#: report/templates/report/inventree_so_report_base.html:14 +#: stock/templates/stock/item_base.html:369 +#: templates/email/overdue_sales_order.html:15 +#: templates/js/translated/pricing.js:929 +#: templates/js/translated/sales_order.js:769 +#: templates/js/translated/sales_order.js:992 +#: templates/js/translated/stock.js:2924 +msgid "Sales Order" +msgstr "" + +#: build/templates/build/build_base.html:197 +#: build/templates/build/detail.html:115 +#: report/templates/report/inventree_build_order_base.html:152 +#: templates/js/translated/table_filters.js:24 +msgid "Issued By" +msgstr "" + +#: build/templates/build/build_base.html:211 +#: build/templates/build/detail.html:94 templates/js/translated/build.js:2154 +msgid "Priority" +msgstr "" + +#: build/templates/build/build_base.html:273 +msgid "Delete Build Order" +msgstr "" + +#: build/templates/build/build_base.html:283 +msgid "Build Order QR Code" +msgstr "" + +#: build/templates/build/build_base.html:295 +msgid "Link Barcode to Build Order" +msgstr "" + +#: build/templates/build/detail.html:15 +msgid "Build Details" +msgstr "" + +#: build/templates/build/detail.html:38 +msgid "Stock Source" +msgstr "" + +#: build/templates/build/detail.html:43 +msgid "Stock can be taken from any available location." +msgstr "" + +#: build/templates/build/detail.html:49 order/models.py:1430 +#: templates/js/translated/purchase_order.js:2190 +msgid "Destination" +msgstr "" + +#: build/templates/build/detail.html:56 +msgid "Destination location not specified" +msgstr "" + +#: build/templates/build/detail.html:73 +msgid "Allocated Parts" +msgstr "" + +#: build/templates/build/detail.html:80 stock/admin.py:163 +#: stock/templates/stock/item_base.html:162 +#: templates/js/translated/build.js:1377 +#: templates/js/translated/model_renderers.js:235 +#: templates/js/translated/purchase_order.js:1274 +#: templates/js/translated/stock.js:1130 templates/js/translated/stock.js:2189 +#: templates/js/translated/stock.js:3127 +#: templates/js/translated/table_filters.js:313 +#: templates/js/translated/table_filters.js:404 +msgid "Batch" +msgstr "" + +#: build/templates/build/detail.html:133 +#: order/templates/order/order_base.html:173 +#: order/templates/order/return_order_base.html:151 +#: order/templates/order/sales_order_base.html:186 +#: templates/js/translated/build.js:2197 +msgid "Created" +msgstr "" + +#: build/templates/build/detail.html:144 +msgid "No target date set" +msgstr "" + +#: build/templates/build/detail.html:149 +#: order/templates/order/sales_order_base.html:202 +#: templates/js/translated/table_filters.js:689 +msgid "Completed" +msgstr "" + +#: build/templates/build/detail.html:153 +msgid "Build not complete" +msgstr "" + +#: build/templates/build/detail.html:164 build/templates/build/sidebar.html:17 +msgid "Child Build Orders" +msgstr "" + +#: build/templates/build/detail.html:177 +msgid "Allocate Stock to Build" +msgstr "" + +#: build/templates/build/detail.html:181 +msgid "Deallocate stock" +msgstr "" + +#: build/templates/build/detail.html:182 +msgid "Deallocate Stock" +msgstr "" + +#: build/templates/build/detail.html:184 +msgid "Automatically allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:185 +msgid "Auto Allocate" +msgstr "" + +#: build/templates/build/detail.html:187 +msgid "Manually allocate stock to build" +msgstr "" + +#: build/templates/build/detail.html:188 build/templates/build/sidebar.html:8 +msgid "Allocate Stock" +msgstr "" + +#: build/templates/build/detail.html:191 +msgid "Order required parts" +msgstr "" + +#: build/templates/build/detail.html:192 +#: templates/js/translated/purchase_order.js:795 +msgid "Order Parts" +msgstr "" + +#: build/templates/build/detail.html:205 +msgid "Available stock has been filtered based on specified source location for this build order" +msgstr "" + +#: build/templates/build/detail.html:215 +msgid "Incomplete Build Outputs" +msgstr "" + +#: build/templates/build/detail.html:219 +msgid "Create new build output" +msgstr "" + +#: build/templates/build/detail.html:220 +msgid "New Build Output" +msgstr "" + +#: build/templates/build/detail.html:237 build/templates/build/sidebar.html:15 +msgid "Consumed Stock" +msgstr "" + +#: build/templates/build/detail.html:249 +msgid "Completed Build Outputs" +msgstr "" + +#: build/templates/build/detail.html:261 build/templates/build/sidebar.html:19 +#: company/templates/company/detail.html:229 +#: company/templates/company/manufacturer_part.html:141 +#: company/templates/company/manufacturer_part_sidebar.html:9 +#: company/templates/company/sidebar.html:39 +#: order/templates/order/po_sidebar.html:9 +#: order/templates/order/purchase_order_detail.html:84 +#: order/templates/order/return_order_detail.html:70 +#: order/templates/order/return_order_sidebar.html:7 +#: order/templates/order/sales_order_detail.html:124 +#: order/templates/order/so_sidebar.html:15 part/templates/part/detail.html:217 +#: part/templates/part/part_sidebar.html:61 stock/templates/stock/item.html:110 +#: stock/templates/stock/stock_sidebar.html:23 +msgid "Attachments" +msgstr "" + +#: build/templates/build/detail.html:276 +msgid "Build Notes" +msgstr "" + +#: build/templates/build/detail.html:434 +msgid "Allocation Complete" +msgstr "" + +#: build/templates/build/detail.html:435 +msgid "All lines have been fully allocated" +msgstr "" + +#: build/templates/build/index.html:18 part/templates/part/detail.html:319 +msgid "New Build Order" +msgstr "" + +#: build/templates/build/sidebar.html:5 +msgid "Build Order Details" +msgstr "" + +#: build/templates/build/sidebar.html:10 +msgid "Incomplete Outputs" +msgstr "" + +#: common/files.py:63 +#, python-brace-format +msgid "Unsupported file format: {fmt}" +msgstr "" + +#: common/files.py:65 +msgid "Error reading file (invalid encoding)" +msgstr "" + +#: common/files.py:70 +msgid "Error reading file (invalid format)" +msgstr "" + +#: common/files.py:72 +msgid "Error reading file (incorrect dimension)" +msgstr "" + +#: common/files.py:74 +msgid "Error reading file (data could be corrupted)" +msgstr "" + +#: common/forms.py:12 +msgid "File" +msgstr "" + +#: common/forms.py:12 +msgid "Select file to upload" +msgstr "" + +#: common/forms.py:25 +msgid "{name.title()} File" +msgstr "" + +#: common/forms.py:26 +#, python-brace-format +msgid "Select {name} file to upload" +msgstr "" + +#: common/models.py:71 +msgid "Updated" +msgstr "" + +#: common/models.py:72 +msgid "Timestamp of last update" +msgstr "" + +#: common/models.py:105 +msgid "Site URL is locked by configuration" +msgstr "" + +#: common/models.py:130 +msgid "Unique project code" +msgstr "" + +#: common/models.py:137 +msgid "Project description" +msgstr "" + +#: common/models.py:146 +msgid "User or group responsible for this project" +msgstr "" + +#: common/models.py:765 +msgid "Settings key (must be unique - case insensitive)" +msgstr "" + +#: common/models.py:769 +msgid "Settings value" +msgstr "" + +#: common/models.py:821 +msgid "Chosen value is not a valid option" +msgstr "" + +#: common/models.py:837 +msgid "Value must be a boolean value" +msgstr "" + +#: common/models.py:845 +msgid "Value must be an integer value" +msgstr "" + +#: common/models.py:882 +msgid "Key string must be unique" +msgstr "" + +#: common/models.py:1114 +msgid "No group" +msgstr "" + +#: common/models.py:1157 +msgid "An empty domain is not allowed." +msgstr "" + +#: common/models.py:1159 +#, python-brace-format +msgid "Invalid domain name: {domain}" +msgstr "" + +#: common/models.py:1171 +msgid "No plugin" +msgstr "" + +#: common/models.py:1259 +msgid "Restart required" +msgstr "" + +#: common/models.py:1261 +msgid "A setting has been changed which requires a server restart" +msgstr "" + +#: common/models.py:1268 +msgid "Pending migrations" +msgstr "" + +#: common/models.py:1269 +msgid "Number of pending database migrations" +msgstr "" + +#: common/models.py:1274 +msgid "Server Instance Name" +msgstr "" + +#: common/models.py:1276 +msgid "String descriptor for the server instance" +msgstr "" + +#: common/models.py:1280 +msgid "Use instance name" +msgstr "" + +#: common/models.py:1281 +msgid "Use the instance name in the title-bar" +msgstr "" + +#: common/models.py:1286 +msgid "Restrict showing `about`" +msgstr "" + +#: common/models.py:1287 +msgid "Show the `about` modal only to superusers" +msgstr "" + +#: common/models.py:1292 company/models.py:108 company/models.py:109 +msgid "Company name" +msgstr "" + +#: common/models.py:1293 +msgid "Internal company name" +msgstr "" + +#: common/models.py:1297 +msgid "Base URL" +msgstr "" + +#: common/models.py:1298 +msgid "Base URL for server instance" +msgstr "" + +#: common/models.py:1304 +msgid "Default Currency" +msgstr "" + +#: common/models.py:1305 +msgid "Select base currency for pricing calculations" +msgstr "" + +#: common/models.py:1311 +msgid "Currency Update Interval" +msgstr "" + +#: common/models.py:1313 +msgid "How often to update exchange rates (set to zero to disable)" +msgstr "" + +#: common/models.py:1316 common/models.py:1372 common/models.py:1385 +#: common/models.py:1393 common/models.py:1402 common/models.py:1411 +#: common/models.py:1613 common/models.py:1635 common/models.py:1750 +#: common/models.py:2053 +msgid "days" +msgstr "" + +#: common/models.py:1320 +msgid "Currency Update Plugin" +msgstr "" + +#: common/models.py:1321 +msgid "Currency update plugin to use" +msgstr "" + +#: common/models.py:1326 +msgid "Download from URL" +msgstr "" + +#: common/models.py:1328 +msgid "Allow download of remote images and files from external URL" +msgstr "" + +#: common/models.py:1334 +msgid "Download Size Limit" +msgstr "" + +#: common/models.py:1335 +msgid "Maximum allowable download size for remote image" +msgstr "" + +#: common/models.py:1341 +msgid "User-agent used to download from URL" +msgstr "" + +#: common/models.py:1343 +msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" +msgstr "" + +#: common/models.py:1348 +msgid "Strict URL Validation" +msgstr "" + +#: common/models.py:1349 +msgid "Require schema specification when validating URLs" +msgstr "" + +#: common/models.py:1354 +msgid "Require confirm" +msgstr "" + +#: common/models.py:1355 +msgid "Require explicit user confirmation for certain action." +msgstr "" + +#: common/models.py:1360 +msgid "Tree Depth" +msgstr "" + +#: common/models.py:1362 +msgid "Default tree depth for treeview. Deeper levels can be lazy loaded as they are needed." +msgstr "" + +#: common/models.py:1368 +msgid "Update Check Interval" +msgstr "" + +#: common/models.py:1369 +msgid "How often to check for updates (set to zero to disable)" +msgstr "" + +#: common/models.py:1375 +msgid "Automatic Backup" +msgstr "" + +#: common/models.py:1376 +msgid "Enable automatic backup of database and media files" +msgstr "" + +#: common/models.py:1381 +msgid "Auto Backup Interval" +msgstr "" + +#: common/models.py:1382 +msgid "Specify number of days between automated backup events" +msgstr "" + +#: common/models.py:1388 +msgid "Task Deletion Interval" +msgstr "" + +#: common/models.py:1390 +msgid "Background task results will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1397 +msgid "Error Log Deletion Interval" +msgstr "" + +#: common/models.py:1399 +msgid "Error logs will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1406 +msgid "Notification Deletion Interval" +msgstr "" + +#: common/models.py:1408 +msgid "User notifications will be deleted after specified number of days" +msgstr "" + +#: common/models.py:1415 templates/InvenTree/settings/sidebar.html:31 +msgid "Barcode Support" +msgstr "" + +#: common/models.py:1416 +msgid "Enable barcode scanner support in the web interface" +msgstr "" + +#: common/models.py:1421 +msgid "Barcode Input Delay" +msgstr "" + +#: common/models.py:1422 +msgid "Barcode input processing delay time" +msgstr "" + +#: common/models.py:1428 +msgid "Barcode Webcam Support" +msgstr "" + +#: common/models.py:1429 +msgid "Allow barcode scanning via webcam in browser" +msgstr "" + +#: common/models.py:1434 +msgid "Part Revisions" +msgstr "" + +#: common/models.py:1435 +msgid "Enable revision field for Part" +msgstr "" + +#: common/models.py:1440 +msgid "IPN Regex" +msgstr "" + +#: common/models.py:1441 +msgid "Regular expression pattern for matching Part IPN" +msgstr "" + +#: common/models.py:1444 +msgid "Allow Duplicate IPN" +msgstr "" + +#: common/models.py:1445 +msgid "Allow multiple parts to share the same IPN" +msgstr "" + +#: common/models.py:1450 +msgid "Allow Editing IPN" +msgstr "" + +#: common/models.py:1451 +msgid "Allow changing the IPN value while editing a part" +msgstr "" + +#: common/models.py:1456 +msgid "Copy Part BOM Data" +msgstr "" + +#: common/models.py:1457 +msgid "Copy BOM data by default when duplicating a part" +msgstr "" + +#: common/models.py:1462 +msgid "Copy Part Parameter Data" +msgstr "" + +#: common/models.py:1463 +msgid "Copy parameter data by default when duplicating a part" +msgstr "" + +#: common/models.py:1468 +msgid "Copy Part Test Data" +msgstr "" + +#: common/models.py:1469 +msgid "Copy test data by default when duplicating a part" +msgstr "" + +#: common/models.py:1474 +msgid "Copy Category Parameter Templates" +msgstr "" + +#: common/models.py:1475 +msgid "Copy category parameter templates when creating a part" +msgstr "" + +#: common/models.py:1480 part/admin.py:108 part/models.py:3772 +#: report/models.py:182 stock/serializers.py:99 +#: templates/js/translated/table_filters.js:139 +#: templates/js/translated/table_filters.js:767 +msgid "Template" +msgstr "" + +#: common/models.py:1481 +msgid "Parts are templates by default" +msgstr "" + +#: common/models.py:1486 part/admin.py:91 part/admin.py:431 part/models.py:1016 +#: templates/js/translated/bom.js:1639 +#: templates/js/translated/table_filters.js:330 +#: templates/js/translated/table_filters.js:721 +msgid "Assembly" +msgstr "" + +#: common/models.py:1487 +msgid "Parts can be assembled from other components by default" +msgstr "" + +#: common/models.py:1492 part/admin.py:95 part/models.py:1022 +#: templates/js/translated/table_filters.js:729 +msgid "Component" +msgstr "" + +#: common/models.py:1493 +msgid "Parts can be used as sub-components by default" +msgstr "" + +#: common/models.py:1498 part/admin.py:100 part/models.py:1034 +msgid "Purchaseable" +msgstr "" + +#: common/models.py:1499 +msgid "Parts are purchaseable by default" +msgstr "" + +#: common/models.py:1504 part/admin.py:104 part/models.py:1040 +#: templates/js/translated/table_filters.js:755 +msgid "Salable" +msgstr "" + +#: common/models.py:1505 +msgid "Parts are salable by default" +msgstr "" + +#: common/models.py:1510 part/admin.py:113 part/models.py:1028 +#: templates/js/translated/table_filters.js:147 +#: templates/js/translated/table_filters.js:223 +#: templates/js/translated/table_filters.js:771 +msgid "Trackable" +msgstr "" + +#: common/models.py:1511 +msgid "Parts are trackable by default" +msgstr "" + +#: common/models.py:1516 part/admin.py:117 part/models.py:1050 +#: part/templates/part/part_base.html:154 +#: templates/js/translated/table_filters.js:143 +#: templates/js/translated/table_filters.js:775 +msgid "Virtual" +msgstr "" + +#: common/models.py:1517 +msgid "Parts are virtual by default" +msgstr "" + +#: common/models.py:1522 +msgid "Show Import in Views" +msgstr "" + +#: common/models.py:1523 +msgid "Display the import wizard in some part views" +msgstr "" + +#: common/models.py:1528 +msgid "Show related parts" +msgstr "" + +#: common/models.py:1529 +msgid "Display related parts for a part" +msgstr "" + +#: common/models.py:1534 +msgid "Initial Stock Data" +msgstr "" + +#: common/models.py:1535 +msgid "Allow creation of initial stock when adding a new part" +msgstr "" + +#: common/models.py:1540 templates/js/translated/part.js:107 +msgid "Initial Supplier Data" +msgstr "" + +#: common/models.py:1542 +msgid "Allow creation of initial supplier data when adding a new part" +msgstr "" + +#: common/models.py:1548 +msgid "Part Name Display Format" +msgstr "" + +#: common/models.py:1549 +msgid "Format to display the part name" +msgstr "" + +#: common/models.py:1555 +msgid "Part Category Default Icon" +msgstr "" + +#: common/models.py:1556 +msgid "Part category default icon (empty means no icon)" +msgstr "" + +#: common/models.py:1560 +msgid "Enforce Parameter Units" +msgstr "" + +#: common/models.py:1562 +msgid "If units are provided, parameter values must match the specified units" +msgstr "" + +#: common/models.py:1568 +msgid "Minimum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1570 +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1576 +msgid "Maximum Pricing Decimal Places" +msgstr "" + +#: common/models.py:1578 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "" + +#: common/models.py:1584 +msgid "Use Supplier Pricing" +msgstr "" + +#: common/models.py:1586 +msgid "Include supplier price breaks in overall pricing calculations" +msgstr "" + +#: common/models.py:1592 +msgid "Purchase History Override" +msgstr "" + +#: common/models.py:1594 +msgid "Historical purchase order pricing overrides supplier price breaks" +msgstr "" + +#: common/models.py:1600 +msgid "Use Stock Item Pricing" +msgstr "" + +#: common/models.py:1602 +msgid "Use pricing from manually entered stock data for pricing calculations" +msgstr "" + +#: common/models.py:1608 +msgid "Stock Item Pricing Age" +msgstr "" + +#: common/models.py:1610 +msgid "Exclude stock items older than this number of days from pricing calculations" +msgstr "" + +#: common/models.py:1617 +msgid "Use Variant Pricing" +msgstr "" + +#: common/models.py:1618 +msgid "Include variant pricing in overall pricing calculations" +msgstr "" + +#: common/models.py:1623 +msgid "Active Variants Only" +msgstr "" + +#: common/models.py:1625 +msgid "Only use active variant parts for calculating variant pricing" +msgstr "" + +#: common/models.py:1631 +msgid "Pricing Rebuild Interval" +msgstr "" + +#: common/models.py:1633 +msgid "Number of days before part pricing is automatically updated" +msgstr "" + +#: common/models.py:1640 +msgid "Internal Prices" +msgstr "" + +#: common/models.py:1641 +msgid "Enable internal prices for parts" +msgstr "" + +#: common/models.py:1646 +msgid "Internal Price Override" +msgstr "" + +#: common/models.py:1648 +msgid "If available, internal prices override price range calculations" +msgstr "" + +#: common/models.py:1654 +msgid "Enable label printing" +msgstr "" + +#: common/models.py:1655 +msgid "Enable label printing from the web interface" +msgstr "" + +#: common/models.py:1660 +msgid "Label Image DPI" +msgstr "" + +#: common/models.py:1662 +msgid "DPI resolution when generating image files to supply to label printing plugins" +msgstr "" + +#: common/models.py:1668 +msgid "Enable Reports" +msgstr "" + +#: common/models.py:1669 +msgid "Enable generation of reports" +msgstr "" + +#: common/models.py:1674 templates/stats.html:25 +msgid "Debug Mode" +msgstr "" + +#: common/models.py:1675 +msgid "Generate reports in debug mode (HTML output)" +msgstr "" + +#: common/models.py:1680 +msgid "Log Report Errors" +msgstr "" + +#: common/models.py:1681 +msgid "Log errors which occur when generating reports" +msgstr "" + +#: common/models.py:1686 plugin/builtin/labels/label_sheet.py:28 +#: report/models.py:203 +msgid "Page Size" +msgstr "" + +#: common/models.py:1687 +msgid "Default page size for PDF reports" +msgstr "" + +#: common/models.py:1692 +msgid "Enable Test Reports" +msgstr "" + +#: common/models.py:1693 +msgid "Enable generation of test reports" +msgstr "" + +#: common/models.py:1698 +msgid "Attach Test Reports" +msgstr "" + +#: common/models.py:1700 +msgid "When printing a Test Report, attach a copy of the Test Report to the associated Stock Item" +msgstr "" + +#: common/models.py:1706 +msgid "Globally Unique Serials" +msgstr "" + +#: common/models.py:1707 +msgid "Serial numbers for stock items must be globally unique" +msgstr "" + +#: common/models.py:1712 +msgid "Autofill Serial Numbers" +msgstr "" + +#: common/models.py:1713 +msgid "Autofill serial numbers in forms" +msgstr "" + +#: common/models.py:1718 +msgid "Delete Depleted Stock" +msgstr "" + +#: common/models.py:1720 +msgid "Determines default behavior when a stock item is depleted" +msgstr "" + +#: common/models.py:1726 +msgid "Batch Code Template" +msgstr "" + +#: common/models.py:1728 +msgid "Template for generating default batch codes for stock items" +msgstr "" + +#: common/models.py:1733 +msgid "Stock Expiry" +msgstr "" + +#: common/models.py:1734 +msgid "Enable stock expiry functionality" +msgstr "" + +#: common/models.py:1739 +msgid "Sell Expired Stock" +msgstr "" + +#: common/models.py:1740 +msgid "Allow sale of expired stock" +msgstr "" + +#: common/models.py:1745 +msgid "Stock Stale Time" +msgstr "" + +#: common/models.py:1747 +msgid "Number of days stock items are considered stale before expiring" +msgstr "" + +#: common/models.py:1754 +msgid "Build Expired Stock" +msgstr "" + +#: common/models.py:1755 +msgid "Allow building with expired stock" +msgstr "" + +#: common/models.py:1760 +msgid "Stock Ownership Control" +msgstr "" + +#: common/models.py:1761 +msgid "Enable ownership control over stock locations and items" +msgstr "" + +#: common/models.py:1766 +msgid "Stock Location Default Icon" +msgstr "" + +#: common/models.py:1767 +msgid "Stock location default icon (empty means no icon)" +msgstr "" + +#: common/models.py:1771 +msgid "Show Installed Stock Items" +msgstr "" + +#: common/models.py:1772 +msgid "Display installed stock items in stock tables" +msgstr "" + +#: common/models.py:1777 +msgid "Check BOM when installing items" +msgstr "" + +#: common/models.py:1779 +msgid "Installed stock items must exist in the BOM for the parent part" +msgstr "" + +#: common/models.py:1785 +msgid "Build Order Reference Pattern" +msgstr "" + +#: common/models.py:1787 +msgid "Required pattern for generating Build Order reference field" +msgstr "" + +#: common/models.py:1793 common/models.py:1821 common/models.py:1843 +#: common/models.py:1871 +msgid "Require Responsible Owner" +msgstr "" + +#: common/models.py:1794 common/models.py:1822 common/models.py:1844 +#: common/models.py:1872 +msgid "A responsible owner must be assigned to each order" +msgstr "" + +#: common/models.py:1799 +msgid "Block Until Tests Pass" +msgstr "" + +#: common/models.py:1801 +msgid "Prevent build outputs from being completed until all required tests pass" +msgstr "" + +#: common/models.py:1807 +msgid "Enable Return Orders" +msgstr "" + +#: common/models.py:1808 +msgid "Enable return order functionality in the user interface" +msgstr "" + +#: common/models.py:1813 +msgid "Return Order Reference Pattern" +msgstr "" + +#: common/models.py:1815 +msgid "Required pattern for generating Return Order reference field" +msgstr "" + +#: common/models.py:1827 +msgid "Edit Completed Return Orders" +msgstr "" + +#: common/models.py:1829 +msgid "Allow editing of return orders after they have been completed" +msgstr "" + +#: common/models.py:1835 +msgid "Sales Order Reference Pattern" +msgstr "" + +#: common/models.py:1837 +msgid "Required pattern for generating Sales Order reference field" +msgstr "" + +#: common/models.py:1849 +msgid "Sales Order Default Shipment" +msgstr "" + +#: common/models.py:1850 +msgid "Enable creation of default shipment with sales orders" +msgstr "" + +#: common/models.py:1855 +msgid "Edit Completed Sales Orders" +msgstr "" + +#: common/models.py:1857 +msgid "Allow editing of sales orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1863 +msgid "Purchase Order Reference Pattern" +msgstr "" + +#: common/models.py:1865 +msgid "Required pattern for generating Purchase Order reference field" +msgstr "" + +#: common/models.py:1877 +msgid "Edit Completed Purchase Orders" +msgstr "" + +#: common/models.py:1879 +msgid "Allow editing of purchase orders after they have been shipped or completed" +msgstr "" + +#: common/models.py:1885 +msgid "Auto Complete Purchase Orders" +msgstr "" + +#: common/models.py:1887 +msgid "Automatically mark purchase orders as complete when all line items are received" +msgstr "" + +#: common/models.py:1894 +msgid "Enable password forgot" +msgstr "" + +#: common/models.py:1895 +msgid "Enable password forgot function on the login pages" +msgstr "" + +#: common/models.py:1900 +msgid "Enable registration" +msgstr "" + +#: common/models.py:1901 +msgid "Enable self-registration for users on the login pages" +msgstr "" + +#: common/models.py:1906 +msgid "Enable SSO" +msgstr "" + +#: common/models.py:1907 +msgid "Enable SSO on the login pages" +msgstr "" + +#: common/models.py:1912 +msgid "Enable SSO registration" +msgstr "" + +#: common/models.py:1914 +msgid "Enable self-registration via SSO for users on the login pages" +msgstr "" + +#: common/models.py:1920 +msgid "Email required" +msgstr "" + +#: common/models.py:1921 +msgid "Require user to supply mail on signup" +msgstr "" + +#: common/models.py:1926 +msgid "Auto-fill SSO users" +msgstr "" + +#: common/models.py:1928 +msgid "Automatically fill out user-details from SSO account-data" +msgstr "" + +#: common/models.py:1934 +msgid "Mail twice" +msgstr "" + +#: common/models.py:1935 +msgid "On signup ask users twice for their mail" +msgstr "" + +#: common/models.py:1940 +msgid "Password twice" +msgstr "" + +#: common/models.py:1941 +msgid "On signup ask users twice for their password" +msgstr "" + +#: common/models.py:1946 +msgid "Allowed domains" +msgstr "" + +#: common/models.py:1948 +msgid "Restrict signup to certain domains (comma-separated, starting with @)" +msgstr "" + +#: common/models.py:1954 +msgid "Group on signup" +msgstr "" + +#: common/models.py:1955 +msgid "Group to which new users are assigned on registration" +msgstr "" + +#: common/models.py:1960 +msgid "Enforce MFA" +msgstr "" + +#: common/models.py:1961 +msgid "Users must use multifactor security." +msgstr "" + +#: common/models.py:1966 +msgid "Check plugins on startup" +msgstr "" + +#: common/models.py:1968 +msgid "Check that all plugins are installed on startup - enable in container environments" +msgstr "" + +#: common/models.py:1976 +msgid "Check for plugin updates" +msgstr "" + +#: common/models.py:1977 +msgid "Enable periodic checks for updates to installed plugins" +msgstr "" + +#: common/models.py:1983 +msgid "Enable URL integration" +msgstr "" + +#: common/models.py:1984 +msgid "Enable plugins to add URL routes" +msgstr "" + +#: common/models.py:1990 +msgid "Enable navigation integration" +msgstr "" + +#: common/models.py:1991 +msgid "Enable plugins to integrate into navigation" +msgstr "" + +#: common/models.py:1997 +msgid "Enable app integration" +msgstr "" + +#: common/models.py:1998 +msgid "Enable plugins to add apps" +msgstr "" + +#: common/models.py:2004 +msgid "Enable schedule integration" +msgstr "" + +#: common/models.py:2005 +msgid "Enable plugins to run scheduled tasks" +msgstr "" + +#: common/models.py:2011 +msgid "Enable event integration" +msgstr "" + +#: common/models.py:2012 +msgid "Enable plugins to respond to internal events" +msgstr "" + +#: common/models.py:2018 +msgid "Enable project codes" +msgstr "" + +#: common/models.py:2019 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/models.py:2024 +msgid "Stocktake Functionality" +msgstr "" + +#: common/models.py:2026 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/models.py:2032 +msgid "Exclude External Locations" +msgstr "" + +#: common/models.py:2034 +msgid "Exclude stock items in external locations from stocktake calculations" +msgstr "" + +#: common/models.py:2040 +msgid "Automatic Stocktake Period" +msgstr "" + +#: common/models.py:2042 +msgid "Number of days between automatic stocktake recording (set to zero to disable)" +msgstr "" + +#: common/models.py:2048 +msgid "Report Deletion Interval" +msgstr "" + +#: common/models.py:2050 +msgid "Stocktake reports will be deleted after specified number of days" +msgstr "" + +#: common/models.py:2057 +msgid "Display Users full names" +msgstr "" + +#: common/models.py:2058 +msgid "Display Users full names instead of usernames" +msgstr "" + +#: common/models.py:2063 +msgid "Enable Test Station Data" +msgstr "" + +#: common/models.py:2064 +msgid "Enable test station data collection for test results" +msgstr "" + +#: common/models.py:2076 common/models.py:2486 +msgid "Settings key (must be unique - case insensitive" +msgstr "" + +#: common/models.py:2119 +msgid "Hide inactive parts" +msgstr "" + +#: common/models.py:2121 +msgid "Hide inactive parts in results displayed on the homepage" +msgstr "" + +#: common/models.py:2127 +msgid "Show subscribed parts" +msgstr "" + +#: common/models.py:2128 +msgid "Show subscribed parts on the homepage" +msgstr "" + +#: common/models.py:2133 +msgid "Show subscribed categories" +msgstr "" + +#: common/models.py:2134 +msgid "Show subscribed part categories on the homepage" +msgstr "" + +#: common/models.py:2139 +msgid "Show latest parts" +msgstr "" + +#: common/models.py:2140 +msgid "Show latest parts on the homepage" +msgstr "" + +#: common/models.py:2145 +msgid "Show invalid BOMs" +msgstr "" + +#: common/models.py:2146 +msgid "Show BOMs that await validation on the homepage" +msgstr "" + +#: common/models.py:2151 +msgid "Show recent stock changes" +msgstr "" + +#: common/models.py:2152 +msgid "Show recently changed stock items on the homepage" +msgstr "" + +#: common/models.py:2157 +msgid "Show low stock" +msgstr "" + +#: common/models.py:2158 +msgid "Show low stock items on the homepage" +msgstr "" + +#: common/models.py:2163 +msgid "Show depleted stock" +msgstr "" + +#: common/models.py:2164 +msgid "Show depleted stock items on the homepage" +msgstr "" + +#: common/models.py:2169 +msgid "Show needed stock" +msgstr "" + +#: common/models.py:2170 +msgid "Show stock items needed for builds on the homepage" +msgstr "" + +#: common/models.py:2175 +msgid "Show expired stock" +msgstr "" + +#: common/models.py:2176 +msgid "Show expired stock items on the homepage" +msgstr "" + +#: common/models.py:2181 +msgid "Show stale stock" +msgstr "" + +#: common/models.py:2182 +msgid "Show stale stock items on the homepage" +msgstr "" + +#: common/models.py:2187 +msgid "Show pending builds" +msgstr "" + +#: common/models.py:2188 +msgid "Show pending builds on the homepage" +msgstr "" + +#: common/models.py:2193 +msgid "Show overdue builds" +msgstr "" + +#: common/models.py:2194 +msgid "Show overdue builds on the homepage" +msgstr "" + +#: common/models.py:2199 +msgid "Show outstanding POs" +msgstr "" + +#: common/models.py:2200 +msgid "Show outstanding POs on the homepage" +msgstr "" + +#: common/models.py:2205 +msgid "Show overdue POs" +msgstr "" + +#: common/models.py:2206 +msgid "Show overdue POs on the homepage" +msgstr "" + +#: common/models.py:2211 +msgid "Show outstanding SOs" +msgstr "" + +#: common/models.py:2212 +msgid "Show outstanding SOs on the homepage" +msgstr "" + +#: common/models.py:2217 +msgid "Show overdue SOs" +msgstr "" + +#: common/models.py:2218 +msgid "Show overdue SOs on the homepage" +msgstr "" + +#: common/models.py:2223 +msgid "Show pending SO shipments" +msgstr "" + +#: common/models.py:2224 +msgid "Show pending SO shipments on the homepage" +msgstr "" + +#: common/models.py:2229 +msgid "Show News" +msgstr "" + +#: common/models.py:2230 +msgid "Show news on the homepage" +msgstr "" + +#: common/models.py:2235 +msgid "Inline label display" +msgstr "" + +#: common/models.py:2237 +msgid "Display PDF labels in the browser, instead of downloading as a file" +msgstr "" + +#: common/models.py:2243 +msgid "Default label printer" +msgstr "" + +#: common/models.py:2245 +msgid "Configure which label printer should be selected by default" +msgstr "" + +#: common/models.py:2251 +msgid "Inline report display" +msgstr "" + +#: common/models.py:2253 +msgid "Display PDF reports in the browser, instead of downloading as a file" +msgstr "" + +#: common/models.py:2259 +msgid "Search Parts" +msgstr "" + +#: common/models.py:2260 +msgid "Display parts in search preview window" +msgstr "" + +#: common/models.py:2265 +msgid "Search Supplier Parts" +msgstr "" + +#: common/models.py:2266 +msgid "Display supplier parts in search preview window" +msgstr "" + +#: common/models.py:2271 +msgid "Search Manufacturer Parts" +msgstr "" + +#: common/models.py:2272 +msgid "Display manufacturer parts in search preview window" +msgstr "" + +#: common/models.py:2277 +msgid "Hide Inactive Parts" +msgstr "" + +#: common/models.py:2278 +msgid "Excluded inactive parts from search preview window" +msgstr "" + +#: common/models.py:2283 +msgid "Search Categories" +msgstr "" + +#: common/models.py:2284 +msgid "Display part categories in search preview window" +msgstr "" + +#: common/models.py:2289 +msgid "Search Stock" +msgstr "" + +#: common/models.py:2290 +msgid "Display stock items in search preview window" +msgstr "" + +#: common/models.py:2295 +msgid "Hide Unavailable Stock Items" +msgstr "" + +#: common/models.py:2297 +msgid "Exclude stock items which are not available from the search preview window" +msgstr "" + +#: common/models.py:2303 +msgid "Search Locations" +msgstr "" + +#: common/models.py:2304 +msgid "Display stock locations in search preview window" +msgstr "" + +#: common/models.py:2309 +msgid "Search Companies" +msgstr "" + +#: common/models.py:2310 +msgid "Display companies in search preview window" +msgstr "" + +#: common/models.py:2315 +msgid "Search Build Orders" +msgstr "" + +#: common/models.py:2316 +msgid "Display build orders in search preview window" +msgstr "" + +#: common/models.py:2321 +msgid "Search Purchase Orders" +msgstr "" + +#: common/models.py:2322 +msgid "Display purchase orders in search preview window" +msgstr "" + +#: common/models.py:2327 +msgid "Exclude Inactive Purchase Orders" +msgstr "" + +#: common/models.py:2329 +msgid "Exclude inactive purchase orders from search preview window" +msgstr "" + +#: common/models.py:2335 +msgid "Search Sales Orders" +msgstr "" + +#: common/models.py:2336 +msgid "Display sales orders in search preview window" +msgstr "" + +#: common/models.py:2341 +msgid "Exclude Inactive Sales Orders" +msgstr "" + +#: common/models.py:2343 +msgid "Exclude inactive sales orders from search preview window" +msgstr "" + +#: common/models.py:2349 +msgid "Search Return Orders" +msgstr "" + +#: common/models.py:2350 +msgid "Display return orders in search preview window" +msgstr "" + +#: common/models.py:2355 +msgid "Exclude Inactive Return Orders" +msgstr "" + +#: common/models.py:2357 +msgid "Exclude inactive return orders from search preview window" +msgstr "" + +#: common/models.py:2363 +msgid "Search Preview Results" +msgstr "" + +#: common/models.py:2365 +msgid "Number of results to show in each section of the search preview window" +msgstr "" + +#: common/models.py:2371 +msgid "Regex Search" +msgstr "" + +#: common/models.py:2372 +msgid "Enable regular expressions in search queries" +msgstr "" + +#: common/models.py:2377 +msgid "Whole Word Search" +msgstr "" + +#: common/models.py:2378 +msgid "Search queries return results for whole word matches" +msgstr "" + +#: common/models.py:2383 +msgid "Show Quantity in Forms" +msgstr "" + +#: common/models.py:2384 +msgid "Display available part quantity in some forms" +msgstr "" + +#: common/models.py:2389 +msgid "Escape Key Closes Forms" +msgstr "" + +#: common/models.py:2390 +msgid "Use the escape key to close modal forms" +msgstr "" + +#: common/models.py:2395 +msgid "Fixed Navbar" +msgstr "" + +#: common/models.py:2396 +msgid "The navbar position is fixed to the top of the screen" +msgstr "" + +#: common/models.py:2401 +msgid "Date Format" +msgstr "" + +#: common/models.py:2402 +msgid "Preferred format for displaying dates" +msgstr "" + +#: common/models.py:2415 part/templates/part/detail.html:41 +msgid "Part Scheduling" +msgstr "" + +#: common/models.py:2416 +msgid "Display part scheduling information" +msgstr "" + +#: common/models.py:2421 part/templates/part/detail.html:62 +msgid "Part Stocktake" +msgstr "" + +#: common/models.py:2423 +msgid "Display part stocktake information (if stocktake functionality is enabled)" +msgstr "" + +#: common/models.py:2429 +msgid "Table String Length" +msgstr "" + +#: common/models.py:2431 +msgid "Maximum length limit for strings displayed in table views" +msgstr "" + +#: common/models.py:2437 +msgid "Default part label template" +msgstr "" + +#: common/models.py:2438 +msgid "The part label template to be automatically selected" +msgstr "" + +#: common/models.py:2443 +msgid "Default stock item template" +msgstr "" + +#: common/models.py:2445 +msgid "The stock item label template to be automatically selected" +msgstr "" + +#: common/models.py:2451 +msgid "Default stock location label template" +msgstr "" + +#: common/models.py:2453 +msgid "The stock location label template to be automatically selected" +msgstr "" + +#: common/models.py:2459 +msgid "Default build line label template" +msgstr "" + +#: common/models.py:2461 +msgid "The build line label template to be automatically selected" +msgstr "" + +#: common/models.py:2467 +msgid "Receive error reports" +msgstr "" + +#: common/models.py:2468 +msgid "Receive notifications for system errors" +msgstr "" + +#: common/models.py:2473 +msgid "Last used printing machines" +msgstr "" + +#: common/models.py:2474 +msgid "Save the last used printing machines for a user" +msgstr "" + +#: common/models.py:2517 +msgid "Price break quantity" +msgstr "" + +#: common/models.py:2524 company/serializers.py:496 order/admin.py:42 +#: order/models.py:1333 order/models.py:2243 +#: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 +#: templates/js/translated/pricing.js:621 +#: templates/js/translated/return_order.js:741 +msgid "Price" +msgstr "" + +#: common/models.py:2525 +msgid "Unit price at specified quantity" +msgstr "" + +#: common/models.py:2696 common/models.py:2881 +msgid "Endpoint" +msgstr "" + +#: common/models.py:2697 +msgid "Endpoint at which this webhook is received" +msgstr "" + +#: common/models.py:2707 +msgid "Name for this webhook" +msgstr "" + +#: common/models.py:2711 company/models.py:160 company/models.py:813 +#: machine/models.py:39 part/admin.py:88 part/models.py:1045 +#: plugin/models.py:56 templates/js/translated/company.js:523 +#: templates/js/translated/table_filters.js:135 +#: templates/js/translated/table_filters.js:219 +#: templates/js/translated/table_filters.js:492 +#: templates/js/translated/table_filters.js:520 +#: templates/js/translated/table_filters.js:716 +#: templates/js/translated/table_filters.js:796 users/models.py:182 +msgid "Active" +msgstr "" + +#: common/models.py:2711 +msgid "Is this webhook active" +msgstr "" + +#: common/models.py:2727 users/models.py:159 +msgid "Token" +msgstr "" + +#: common/models.py:2728 +msgid "Token for access" +msgstr "" + +#: common/models.py:2736 +msgid "Secret" +msgstr "" + +#: common/models.py:2737 +msgid "Shared secret for HMAC" +msgstr "" + +#: common/models.py:2845 +msgid "Message ID" +msgstr "" + +#: common/models.py:2846 +msgid "Unique identifier for this message" +msgstr "" + +#: common/models.py:2854 +msgid "Host" +msgstr "" + +#: common/models.py:2855 +msgid "Host from which this message was received" +msgstr "" + +#: common/models.py:2863 +msgid "Header" +msgstr "" + +#: common/models.py:2864 +msgid "Header of this message" +msgstr "" + +#: common/models.py:2871 +msgid "Body" +msgstr "" + +#: common/models.py:2872 +msgid "Body of this message" +msgstr "" + +#: common/models.py:2882 +msgid "Endpoint on which this message was received" +msgstr "" + +#: common/models.py:2887 +msgid "Worked on" +msgstr "" + +#: common/models.py:2888 +msgid "Was the work on this message finished?" +msgstr "" + +#: common/models.py:3014 +msgid "Id" +msgstr "" + +#: common/models.py:3016 templates/js/translated/company.js:965 +#: templates/js/translated/news.js:44 +msgid "Title" +msgstr "" + +#: common/models.py:3020 templates/js/translated/news.js:60 +msgid "Published" +msgstr "" + +#: common/models.py:3022 templates/InvenTree/settings/plugin_settings.html:32 +#: templates/js/translated/news.js:56 templates/js/translated/plugin.js:103 +msgid "Author" +msgstr "" + +#: common/models.py:3024 templates/js/translated/news.js:52 +msgid "Summary" +msgstr "" + +#: common/models.py:3027 +msgid "Read" +msgstr "" + +#: common/models.py:3027 +msgid "Was this news item read?" +msgstr "" + +#: common/models.py:3044 company/models.py:156 part/models.py:929 +#: report/templates/report/inventree_bill_of_materials_report.html:126 +#: report/templates/report/inventree_bill_of_materials_report.html:148 +#: report/templates/report/inventree_return_order_report_base.html:35 +#: stock/templates/stock/item_base.html:133 templates/503.html:31 +#: templates/hover_image.html:7 templates/hover_image.html:9 +#: templates/modals.html:6 +msgid "Image" +msgstr "" + +#: common/models.py:3044 +msgid "Image file" +msgstr "" + +#: common/models.py:3086 +msgid "Unit name must be a valid identifier" +msgstr "" + +#: common/models.py:3105 +msgid "Unit name" +msgstr "" + +#: common/models.py:3112 templates/InvenTree/settings/settings_staff_js.html:75 +msgid "Symbol" +msgstr "" + +#: common/models.py:3113 +msgid "Optional unit symbol" +msgstr "" + +#: common/models.py:3120 templates/InvenTree/settings/settings_staff_js.html:71 +msgid "Definition" +msgstr "" + +#: common/models.py:3121 +msgid "Unit definition" +msgstr "" + +#: common/notifications.py:314 +#, python-brace-format +msgid "New {verbose_name}" +msgstr "" + +#: common/notifications.py:316 +msgid "A new order has been created and assigned to you" +msgstr "" + +#: common/notifications.py:322 +#, python-brace-format +msgid "{verbose_name} canceled" +msgstr "" + +#: common/notifications.py:324 +msgid "A order that is assigned to you was canceled" +msgstr "" + +#: common/notifications.py:330 common/notifications.py:337 order/api.py:468 +msgid "Items Received" +msgstr "" + +#: common/notifications.py:332 +msgid "Items have been received against a purchase order" +msgstr "" + +#: common/notifications.py:339 +msgid "Items have been received against a return order" +msgstr "" + +#: common/notifications.py:457 +msgid "Error raised by plugin" +msgstr "" + +#: common/serializers.py:355 +msgid "Is Running" +msgstr "" + +#: common/serializers.py:361 +msgid "Pending Tasks" +msgstr "" + +#: common/serializers.py:367 +msgid "Scheduled Tasks" +msgstr "" + +#: common/serializers.py:373 +msgid "Failed Tasks" +msgstr "" + +#: common/serializers.py:388 +msgid "Task ID" +msgstr "" + +#: common/serializers.py:388 +msgid "Unique task ID" +msgstr "" + +#: common/serializers.py:390 +msgid "Lock" +msgstr "" + +#: common/serializers.py:390 +msgid "Lock time" +msgstr "" + +#: common/serializers.py:392 +msgid "Task name" +msgstr "" + +#: common/serializers.py:394 +msgid "Function" +msgstr "" + +#: common/serializers.py:394 +msgid "Function name" +msgstr "" + +#: common/serializers.py:396 +msgid "Arguments" +msgstr "" + +#: common/serializers.py:396 +msgid "Task arguments" +msgstr "" + +#: common/serializers.py:399 +msgid "Keyword Arguments" +msgstr "" + +#: common/serializers.py:399 +msgid "Task keyword arguments" +msgstr "" + +#: common/views.py:84 order/templates/order/order_wizard/po_upload.html:51 +#: order/templates/order/purchase_order_detail.html:24 order/views.py:118 +#: part/templates/part/import_wizard/part_upload.html:58 part/views.py:109 +#: templates/patterns/wizard/upload.html:37 +msgid "Upload File" +msgstr "" + +#: common/views.py:84 order/templates/order/order_wizard/match_fields.html:52 +#: order/views.py:119 +#: part/templates/part/import_wizard/ajax_match_fields.html:45 +#: part/templates/part/import_wizard/match_fields.html:52 part/views.py:110 +#: templates/patterns/wizard/match_fields.html:51 +msgid "Match Fields" +msgstr "" + +#: common/views.py:84 +msgid "Match Items" +msgstr "" + +#: common/views.py:401 +msgid "Fields matching failed" +msgstr "" + +#: common/views.py:464 +msgid "Parts imported" +msgstr "" + +#: common/views.py:494 order/templates/order/order_wizard/match_fields.html:27 +#: order/templates/order/order_wizard/match_parts.html:19 +#: order/templates/order/order_wizard/po_upload.html:49 +#: part/templates/part/import_wizard/match_fields.html:27 +#: part/templates/part/import_wizard/match_references.html:19 +#: part/templates/part/import_wizard/part_upload.html:56 +#: templates/patterns/wizard/match_fields.html:26 +#: templates/patterns/wizard/upload.html:35 +msgid "Previous Step" +msgstr "" + +#: company/api.py:164 +msgid "Part is Active" +msgstr "" + +#: company/api.py:168 +msgid "Manufacturer is Active" +msgstr "" + +#: company/api.py:317 +msgid "Supplier Part is Active" +msgstr "" + +#: company/api.py:321 +msgid "Internal Part is Active" +msgstr "" + +#: company/api.py:325 +msgid "Supplier is Active" +msgstr "" + +#: company/models.py:114 +msgid "Company description" +msgstr "" + +#: company/models.py:115 +msgid "Description of the company" +msgstr "" + +#: company/models.py:120 company/templates/company/company_base.html:106 +#: templates/InvenTree/settings/plugin_settings.html:54 +#: templates/js/translated/company.js:532 +msgid "Website" +msgstr "" + +#: company/models.py:120 +msgid "Company website URL" +msgstr "" + +#: company/models.py:125 +msgid "Phone number" +msgstr "" + +#: company/models.py:127 +msgid "Contact phone number" +msgstr "" + +#: company/models.py:134 +msgid "Contact email address" +msgstr "" + +#: company/models.py:139 company/templates/company/company_base.html:145 +#: order/models.py:331 order/templates/order/order_base.html:203 +#: order/templates/order/return_order_base.html:174 +#: order/templates/order/sales_order_base.html:214 +msgid "Contact" +msgstr "" + +#: company/models.py:141 +msgid "Point of contact" +msgstr "" + +#: company/models.py:147 +msgid "Link to external company information" +msgstr "" + +#: company/models.py:160 +msgid "Is this company active?" +msgstr "" + +#: company/models.py:165 +msgid "is customer" +msgstr "" + +#: company/models.py:166 +msgid "Do you sell items to this company?" +msgstr "" + +#: company/models.py:171 +msgid "is supplier" +msgstr "" + +#: company/models.py:172 +msgid "Do you purchase items from this company?" +msgstr "" + +#: company/models.py:177 +msgid "is manufacturer" +msgstr "" + +#: company/models.py:178 +msgid "Does this company manufacture parts?" +msgstr "" + +#: company/models.py:186 +msgid "Default currency used for this company" +msgstr "" + +#: company/models.py:273 company/models.py:382 +#: company/templates/company/company_base.html:8 +#: company/templates/company/company_base.html:12 stock/api.py:776 +#: templates/InvenTree/search.html:178 templates/js/translated/company.js:496 +msgid "Company" +msgstr "" + +#: company/models.py:383 +msgid "Select company" +msgstr "" + +#: company/models.py:388 +msgid "Address title" +msgstr "" + +#: company/models.py:389 +msgid "Title describing the address entry" +msgstr "" + +#: company/models.py:395 +msgid "Primary address" +msgstr "" + +#: company/models.py:396 +msgid "Set as primary address" +msgstr "" + +#: company/models.py:401 templates/js/translated/company.js:914 +#: templates/js/translated/company.js:971 +msgid "Line 1" +msgstr "" + +#: company/models.py:402 +msgid "Address line 1" +msgstr "" + +#: company/models.py:408 templates/js/translated/company.js:915 +#: templates/js/translated/company.js:977 +msgid "Line 2" +msgstr "" + +#: company/models.py:409 +msgid "Address line 2" +msgstr "" + +#: company/models.py:415 company/models.py:416 +#: templates/js/translated/company.js:983 +msgid "Postal code" +msgstr "" + +#: company/models.py:422 +msgid "City/Region" +msgstr "" + +#: company/models.py:423 +msgid "Postal code city/region" +msgstr "" + +#: company/models.py:429 +msgid "State/Province" +msgstr "" + +#: company/models.py:430 +msgid "State or province" +msgstr "" + +#: company/models.py:436 templates/js/translated/company.js:1001 +msgid "Country" +msgstr "" + +#: company/models.py:437 +msgid "Address country" +msgstr "" + +#: company/models.py:443 +msgid "Courier shipping notes" +msgstr "" + +#: company/models.py:444 +msgid "Notes for shipping courier" +msgstr "" + +#: company/models.py:450 +msgid "Internal shipping notes" +msgstr "" + +#: company/models.py:451 +msgid "Shipping notes for internal use" +msgstr "" + +#: company/models.py:458 +msgid "Link to address information (external)" +msgstr "" + +#: company/models.py:489 company/models.py:791 stock/models.py:751 +#: stock/serializers.py:266 stock/templates/stock/item_base.html:142 +#: templates/js/translated/bom.js:622 +msgid "Base Part" +msgstr "" + +#: company/models.py:491 company/models.py:793 +msgid "Select part" +msgstr "" + +#: company/models.py:500 company/templates/company/company_base.html:82 +#: company/templates/company/manufacturer_part.html:90 +#: company/templates/company/supplier_part.html:145 part/serializers.py:515 +#: stock/templates/stock/item_base.html:207 +#: templates/js/translated/company.js:507 +#: templates/js/translated/company.js:1118 +#: templates/js/translated/company.js:1296 +#: templates/js/translated/company.js:1611 +#: templates/js/translated/table_filters.js:800 +msgid "Manufacturer" +msgstr "" + +#: company/models.py:501 +msgid "Select manufacturer" +msgstr "" + +#: company/models.py:507 company/templates/company/manufacturer_part.html:101 +#: company/templates/company/supplier_part.html:153 part/serializers.py:525 +#: templates/js/translated/company.js:351 +#: templates/js/translated/company.js:1117 +#: templates/js/translated/company.js:1312 +#: templates/js/translated/company.js:1630 templates/js/translated/part.js:1800 +#: templates/js/translated/purchase_order.js:1852 +#: templates/js/translated/purchase_order.js:2054 +msgid "MPN" +msgstr "" + +#: company/models.py:508 +msgid "Manufacturer Part Number" +msgstr "" + +#: company/models.py:515 +msgid "URL for external manufacturer part link" +msgstr "" + +#: company/models.py:523 +msgid "Manufacturer part description" +msgstr "" + +#: company/models.py:580 company/models.py:607 company/models.py:823 +#: company/templates/company/manufacturer_part.html:7 +#: company/templates/company/manufacturer_part.html:24 +#: stock/templates/stock/item_base.html:217 +msgid "Manufacturer Part" +msgstr "" + +#: company/models.py:614 +msgid "Parameter name" +msgstr "" + +#: company/models.py:620 +#: report/templates/report/inventree_test_report_base.html:104 +#: stock/models.py:2436 templates/js/translated/company.js:1166 +#: templates/js/translated/company.js:1419 templates/js/translated/part.js:1492 +#: templates/js/translated/stock.js:1519 +msgid "Value" +msgstr "" + +#: company/models.py:621 +msgid "Parameter value" +msgstr "" + +#: company/models.py:628 company/templates/company/supplier_part.html:168 +#: part/admin.py:57 part/models.py:1009 part/models.py:3623 +#: part/templates/part/part_base.html:284 +#: templates/js/translated/company.js:1425 templates/js/translated/part.js:1511 +#: templates/js/translated/part.js:1615 templates/js/translated/part.js:2370 +msgid "Units" +msgstr "" + +#: company/models.py:629 +msgid "Parameter units" +msgstr "" + +#: company/models.py:731 +msgid "Pack units must be compatible with the base part units" +msgstr "" + +#: company/models.py:738 +msgid "Pack units must be greater than zero" +msgstr "" + +#: company/models.py:752 +msgid "Linked manufacturer part must reference the same base part" +msgstr "" + +#: company/models.py:801 company/templates/company/company_base.html:87 +#: company/templates/company/supplier_part.html:129 order/models.py:465 +#: order/templates/order/order_base.html:136 part/bom.py:272 part/bom.py:310 +#: part/serializers.py:499 plugin/builtin/suppliers/digikey.py:25 +#: plugin/builtin/suppliers/lcsc.py:26 plugin/builtin/suppliers/mouser.py:24 +#: plugin/builtin/suppliers/tme.py:26 stock/templates/stock/item_base.html:224 +#: templates/email/overdue_purchase_order.html:16 +#: templates/js/translated/company.js:350 +#: templates/js/translated/company.js:511 +#: templates/js/translated/company.js:1584 templates/js/translated/part.js:1768 +#: templates/js/translated/pricing.js:498 +#: templates/js/translated/purchase_order.js:1690 +#: templates/js/translated/table_filters.js:804 +msgid "Supplier" +msgstr "" + +#: company/models.py:802 +msgid "Select supplier" +msgstr "" + +#: company/models.py:808 part/serializers.py:510 +msgid "Supplier stock keeping unit" +msgstr "" + +#: company/models.py:814 +msgid "Is this supplier part active?" +msgstr "" + +#: company/models.py:824 +msgid "Select manufacturer part" +msgstr "" + +#: company/models.py:831 +msgid "URL for external supplier part link" +msgstr "" + +#: company/models.py:839 +msgid "Supplier part description" +msgstr "" + +#: company/models.py:846 company/templates/company/supplier_part.html:187 +#: part/admin.py:418 part/models.py:4070 part/templates/part/upload_bom.html:59 +#: report/templates/report/inventree_bill_of_materials_report.html:140 +#: report/templates/report/inventree_po_report_base.html:32 +#: report/templates/report/inventree_return_order_report_base.html:27 +#: report/templates/report/inventree_slr_report.html:105 +#: report/templates/report/inventree_so_report_base.html:32 +#: stock/serializers.py:579 +msgid "Note" +msgstr "" + +#: company/models.py:855 part/models.py:1967 +msgid "base cost" +msgstr "" + +#: company/models.py:856 part/models.py:1968 +msgid "Minimum charge (e.g. stocking fee)" +msgstr "" + +#: company/models.py:863 company/templates/company/supplier_part.html:160 +#: stock/admin.py:224 stock/models.py:782 stock/serializers.py:1350 +#: stock/templates/stock/item_base.html:240 +#: templates/js/translated/company.js:1646 +#: templates/js/translated/stock.js:2423 +msgid "Packaging" +msgstr "" + +#: company/models.py:864 +msgid "Part packaging" +msgstr "" + +#: company/models.py:869 templates/js/translated/company.js:1651 +#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/purchase_order.js:311 +#: templates/js/translated/purchase_order.js:841 +#: templates/js/translated/purchase_order.js:1103 +#: templates/js/translated/purchase_order.js:2085 +#: templates/js/translated/purchase_order.js:2102 +msgid "Pack Quantity" +msgstr "" + +#: company/models.py:871 +msgid "Total quantity supplied in a single pack. Leave empty for single items." +msgstr "" + +#: company/models.py:890 part/models.py:1974 +msgid "multiple" +msgstr "" + +#: company/models.py:891 +msgid "Order multiple" +msgstr "" + +#: company/models.py:903 +msgid "Quantity available from supplier" +msgstr "" + +#: company/models.py:909 +msgid "Availability Updated" +msgstr "" + +#: company/models.py:910 +msgid "Date of last update of availability data" +msgstr "" + +#: company/serializers.py:163 +msgid "Default currency used for this supplier" +msgstr "" + +#: company/serializers.py:381 part/admin.py:126 +#: part/templates/part/part_base.html:197 +#: templates/js/translated/company.js:1689 +#: templates/js/translated/table_filters.js:355 +msgid "In Stock" +msgstr "" + +#: company/templates/company/company_base.html:16 +#: part/templates/part/part_base.html:146 +#: templates/js/translated/company.js:1287 +#: templates/js/translated/company.js:1575 +#: templates/js/translated/model_renderers.js:306 +#: templates/js/translated/part.js:814 templates/js/translated/part.js:1218 +msgid "Inactive" +msgstr "" + +#: company/templates/company/company_base.html:27 +#: templates/js/translated/purchase_order.js:242 +msgid "Create Purchase Order" +msgstr "" + +#: company/templates/company/company_base.html:33 +msgid "Company actions" +msgstr "" + +#: company/templates/company/company_base.html:38 +msgid "Edit company information" +msgstr "" + +#: company/templates/company/company_base.html:39 +#: templates/js/translated/company.js:445 +msgid "Edit Company" +msgstr "" + +#: company/templates/company/company_base.html:43 +msgid "Delete company" +msgstr "" + +#: company/templates/company/company_base.html:44 +#: company/templates/company/company_base.html:168 +msgid "Delete Company" +msgstr "" + +#: company/templates/company/company_base.html:53 +#: company/templates/company/manufacturer_part.html:51 +#: company/templates/company/supplier_part.html:83 +#: part/templates/part/part_thumb.html:20 +#: report/templates/report/inventree_build_order_base.html:98 +#: report/templates/report/inventree_po_report_base.html:40 +#: report/templates/report/inventree_so_report_base.html:40 +#: report/templates/report/inventree_test_report_base.html:84 +#: report/templates/report/inventree_test_report_base.html:163 +msgid "Part image" +msgstr "" + +#: company/templates/company/company_base.html:61 +#: part/templates/part/part_thumb.html:12 +msgid "Upload new image" +msgstr "" + +#: company/templates/company/company_base.html:64 +#: part/templates/part/part_thumb.html:14 +msgid "Download image from URL" +msgstr "" + +#: company/templates/company/company_base.html:66 +#: part/templates/part/part_thumb.html:16 +msgid "Delete image" +msgstr "" + +#: company/templates/company/company_base.html:92 order/models.py:910 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 +#: order/templates/order/sales_order_base.html:144 stock/models.py:804 +#: stock/models.py:805 stock/serializers.py:1100 +#: stock/templates/stock/item_base.html:405 +#: templates/email/overdue_sales_order.html:16 +#: templates/js/translated/company.js:503 +#: templates/js/translated/return_order.js:296 +#: templates/js/translated/sales_order.js:784 +#: templates/js/translated/stock.js:2959 +#: templates/js/translated/table_filters.js:808 +msgid "Customer" +msgstr "" + +#: company/templates/company/company_base.html:117 +msgid "Uses default currency" +msgstr "" + +#: company/templates/company/company_base.html:124 order/models.py:341 +#: order/templates/order/order_base.html:210 +#: order/templates/order/return_order_base.html:181 +#: order/templates/order/sales_order_base.html:221 +msgid "Address" +msgstr "" + +#: company/templates/company/company_base.html:131 +msgid "Phone" +msgstr "" + +#: company/templates/company/company_base.html:211 +#: part/templates/part/part_base.html:528 +msgid "Remove Image" +msgstr "" + +#: company/templates/company/company_base.html:212 +msgid "Remove associated image from this company" +msgstr "" + +#: company/templates/company/company_base.html:214 +#: part/templates/part/part_base.html:531 +#: templates/InvenTree/settings/user.html:88 +#: templates/InvenTree/settings/user_sso.html:43 +msgid "Remove" +msgstr "" + +#: company/templates/company/company_base.html:243 +#: part/templates/part/part_base.html:560 +msgid "Upload Image" +msgstr "" + +#: company/templates/company/company_base.html:258 +#: part/templates/part/part_base.html:614 +msgid "Download Image" +msgstr "" + +#: company/templates/company/detail.html:15 +#: company/templates/company/manufacturer_part_sidebar.html:7 +#: templates/InvenTree/search.html:120 templates/js/translated/search.js:147 +msgid "Supplier Parts" +msgstr "" + +#: company/templates/company/detail.html:19 +msgid "Create new supplier part" +msgstr "" + +#: company/templates/company/detail.html:20 +#: company/templates/company/manufacturer_part.html:123 +#: part/templates/part/detail.html:356 +msgid "New Supplier Part" +msgstr "" + +#: company/templates/company/detail.html:41 templates/InvenTree/search.html:105 +#: templates/js/translated/search.js:151 +msgid "Manufacturer Parts" +msgstr "" + +#: company/templates/company/detail.html:45 +msgid "Create new manufacturer part" +msgstr "" + +#: company/templates/company/detail.html:46 part/templates/part/detail.html:376 +msgid "New Manufacturer Part" +msgstr "" + +#: company/templates/company/detail.html:65 +msgid "Supplier Stock" +msgstr "" + +#: company/templates/company/detail.html:75 +#: company/templates/company/sidebar.html:12 +#: company/templates/company/supplier_part_sidebar.html:7 +#: order/templates/order/order_base.html:13 +#: order/templates/order/purchase_orders.html:8 +#: order/templates/order/purchase_orders.html:12 +#: part/templates/part/detail.html:106 part/templates/part/part_sidebar.html:35 +#: templates/InvenTree/index.html:227 templates/InvenTree/search.html:199 +#: templates/InvenTree/settings/sidebar.html:57 +#: templates/js/translated/search.js:205 templates/navbar.html:50 +#: users/models.py:208 +msgid "Purchase Orders" +msgstr "" + +#: company/templates/company/detail.html:79 +#: order/templates/order/purchase_orders.html:17 +msgid "Create new purchase order" +msgstr "" + +#: company/templates/company/detail.html:80 +#: order/templates/order/purchase_orders.html:18 +msgid "New Purchase Order" +msgstr "" + +#: company/templates/company/detail.html:101 +#: company/templates/company/sidebar.html:21 +#: order/templates/order/sales_order_base.html:13 +#: order/templates/order/sales_orders.html:8 +#: order/templates/order/sales_orders.html:15 +#: part/templates/part/detail.html:127 part/templates/part/part_sidebar.html:39 +#: templates/InvenTree/index.html:259 templates/InvenTree/search.html:219 +#: templates/InvenTree/settings/sidebar.html:59 +#: templates/js/translated/search.js:219 templates/navbar.html:62 +#: users/models.py:209 +msgid "Sales Orders" +msgstr "" + +#: company/templates/company/detail.html:105 +#: order/templates/order/sales_orders.html:20 +msgid "Create new sales order" +msgstr "" + +#: company/templates/company/detail.html:106 +#: order/templates/order/sales_orders.html:21 +msgid "New Sales Order" +msgstr "" + +#: company/templates/company/detail.html:126 +msgid "Assigned Stock" +msgstr "" + +#: company/templates/company/detail.html:142 +#: company/templates/company/sidebar.html:29 +#: order/templates/order/return_order_base.html:13 +#: order/templates/order/return_orders.html:8 +#: order/templates/order/return_orders.html:15 +#: templates/InvenTree/settings/sidebar.html:61 +#: templates/js/translated/search.js:232 templates/navbar.html:65 +#: users/models.py:210 +msgid "Return Orders" +msgstr "" + +#: company/templates/company/detail.html:146 +#: order/templates/order/return_orders.html:20 +msgid "Create new return order" +msgstr "" + +#: company/templates/company/detail.html:147 +#: order/templates/order/return_orders.html:21 +msgid "New Return Order" +msgstr "" + +#: company/templates/company/detail.html:168 +msgid "Company Notes" +msgstr "" + +#: company/templates/company/detail.html:183 +msgid "Company Contacts" +msgstr "" + +#: company/templates/company/detail.html:187 +#: company/templates/company/detail.html:188 +msgid "Add Contact" +msgstr "" + +#: company/templates/company/detail.html:206 +msgid "Company addresses" +msgstr "" + +#: company/templates/company/detail.html:210 +#: company/templates/company/detail.html:211 +msgid "Add Address" +msgstr "" + +#: company/templates/company/manufacturer_part.html:15 company/views.py:37 +#: templates/InvenTree/search.html:180 templates/navbar.html:49 +msgid "Manufacturers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:35 +#: company/templates/company/supplier_part.html:227 +#: part/templates/part/detail.html:109 part/templates/part/part_base.html:83 +msgid "Order part" +msgstr "" + +#: company/templates/company/manufacturer_part.html:39 +#: templates/js/translated/company.js:1343 +msgid "Edit manufacturer part" +msgstr "" + +#: company/templates/company/manufacturer_part.html:43 +#: templates/js/translated/company.js:1344 +msgid "Delete manufacturer part" +msgstr "" + +#: company/templates/company/manufacturer_part.html:65 +#: company/templates/company/supplier_part.html:97 order/api.py:454 +msgid "Internal Part" +msgstr "" + +#: company/templates/company/manufacturer_part.html:95 +msgid "No manufacturer information available" +msgstr "" + +#: company/templates/company/manufacturer_part.html:119 +#: company/templates/company/supplier_part.html:15 company/views.py:31 +#: part/admin.py:122 part/serializers.py:821 +#: part/templates/part/part_sidebar.html:33 templates/InvenTree/search.html:190 +#: templates/navbar.html:48 +msgid "Suppliers" +msgstr "" + +#: company/templates/company/manufacturer_part.html:156 +#: company/templates/company/manufacturer_part_sidebar.html:5 +#: part/templates/part/category_sidebar.html:20 +#: part/templates/part/detail.html:195 part/templates/part/part_sidebar.html:8 +msgid "Parameters" +msgstr "" + +#: company/templates/company/manufacturer_part.html:160 +#: part/templates/part/detail.html:200 +#: templates/InvenTree/settings/category.html:12 +#: templates/InvenTree/settings/part_parameters.html:24 +msgid "New Parameter" +msgstr "" + +#: company/templates/company/manufacturer_part.html:206 +#: templates/js/translated/part.js:1422 +msgid "Add Parameter" +msgstr "" + +#: company/templates/company/sidebar.html:6 +msgid "Manufactured Parts" +msgstr "" + +#: company/templates/company/sidebar.html:10 +msgid "Supplied Parts" +msgstr "" + +#: company/templates/company/sidebar.html:16 +msgid "Supplied Stock Items" +msgstr "" + +#: company/templates/company/sidebar.html:25 +msgid "Assigned Stock Items" +msgstr "" + +#: company/templates/company/sidebar.html:33 +msgid "Contacts" +msgstr "" + +#: company/templates/company/sidebar.html:35 +msgid "Addresses" +msgstr "" + +#: company/templates/company/supplier_part.html:7 +#: company/templates/company/supplier_part.html:24 order/api.py:448 +#: stock/models.py:762 stock/templates/stock/item_base.html:233 +#: templates/js/translated/company.js:1600 +#: templates/js/translated/purchase_order.js:752 +#: templates/js/translated/stock.js:2279 +msgid "Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:50 +#: templates/js/translated/company.js:1526 +msgid "Supplier part actions" +msgstr "" + +#: company/templates/company/supplier_part.html:55 +#: company/templates/company/supplier_part.html:56 +#: company/templates/company/supplier_part.html:228 +#: part/templates/part/detail.html:110 +msgid "Order Part" +msgstr "" + +#: company/templates/company/supplier_part.html:60 +#: company/templates/company/supplier_part.html:61 +msgid "Update Availability" +msgstr "" + +#: company/templates/company/supplier_part.html:63 +#: company/templates/company/supplier_part.html:64 +#: templates/js/translated/company.js:294 +msgid "Edit Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:68 +#: company/templates/company/supplier_part.html:69 +#: templates/js/translated/company.js:269 +msgid "Duplicate Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:73 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:74 +msgid "Delete Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:133 +msgid "No supplier information available" +msgstr "" + +#: company/templates/company/supplier_part.html:139 part/bom.py:279 +#: part/bom.py:311 part/serializers.py:509 +#: templates/js/translated/company.js:349 templates/js/translated/part.js:1786 +#: templates/js/translated/pricing.js:510 +#: templates/js/translated/purchase_order.js:1851 +#: templates/js/translated/purchase_order.js:2029 +msgid "SKU" +msgstr "" + +#: company/templates/company/supplier_part.html:206 +msgid "Supplier Part Stock" +msgstr "" + +#: company/templates/company/supplier_part.html:209 +#: part/templates/part/detail.html:24 stock/templates/stock/location.html:199 +msgid "Create new stock item" +msgstr "" + +#: company/templates/company/supplier_part.html:210 +#: part/templates/part/detail.html:25 stock/templates/stock/location.html:200 +#: templates/js/translated/stock.js:537 +msgid "New Stock Item" +msgstr "" + +#: company/templates/company/supplier_part.html:223 +msgid "Supplier Part Orders" +msgstr "" + +#: company/templates/company/supplier_part.html:246 +msgid "Pricing Information" +msgstr "" + +#: company/templates/company/supplier_part.html:251 +#: templates/js/translated/company.js:398 +#: templates/js/translated/pricing.js:684 +msgid "Add Price Break" +msgstr "" + +#: company/templates/company/supplier_part.html:276 +msgid "Supplier Part QR Code" +msgstr "" + +#: company/templates/company/supplier_part.html:287 +msgid "Link Barcode to Supplier Part" +msgstr "" + +#: company/templates/company/supplier_part.html:359 +msgid "Update Part Availability" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:5 +#: part/serializers.py:820 part/stocktake.py:223 +#: part/templates/part/category.html:183 +#: part/templates/part/category_sidebar.html:17 stock/admin.py:69 +#: stock/serializers.py:787 stock/serializers.py:951 +#: stock/templates/stock/location.html:170 +#: stock/templates/stock/location.html:184 +#: stock/templates/stock/location.html:196 +#: stock/templates/stock/location_sidebar.html:7 +#: templates/InvenTree/search.html:155 templates/js/translated/part.js:1060 +#: templates/js/translated/search.js:172 templates/js/translated/stock.js:2766 +#: users/models.py:206 +msgid "Stock Items" +msgstr "" + +#: company/templates/company/supplier_part_sidebar.html:9 +msgid "Supplier Part Pricing" +msgstr "" + +#: company/views.py:32 +msgid "New Supplier" +msgstr "" + +#: company/views.py:38 +msgid "New Manufacturer" +msgstr "" + +#: company/views.py:43 templates/InvenTree/search.html:210 +#: templates/navbar.html:60 +msgid "Customers" +msgstr "" + +#: company/views.py:44 +msgid "New Customer" +msgstr "" + +#: company/views.py:51 templates/js/translated/search.js:192 +msgid "Companies" +msgstr "" + +#: company/views.py:52 +msgid "New Company" +msgstr "" + +#: label/api.py:247 +msgid "Error printing label" +msgstr "" + +#: label/models.py:120 +msgid "Label name" +msgstr "" + +#: label/models.py:128 +msgid "Label description" +msgstr "" + +#: label/models.py:136 +msgid "Label" +msgstr "" + +#: label/models.py:137 +msgid "Label template file" +msgstr "" + +#: label/models.py:143 part/models.py:3494 report/models.py:324 +#: templates/js/translated/part.js:2900 +#: templates/js/translated/table_filters.js:481 +msgid "Enabled" +msgstr "" + +#: label/models.py:144 +msgid "Label template is enabled" +msgstr "" + +#: label/models.py:149 +msgid "Width [mm]" +msgstr "" + +#: label/models.py:150 +msgid "Label width, specified in mm" +msgstr "" + +#: label/models.py:156 +msgid "Height [mm]" +msgstr "" + +#: label/models.py:157 +msgid "Label height, specified in mm" +msgstr "" + +#: label/models.py:163 report/models.py:317 +msgid "Filename Pattern" +msgstr "" + +#: label/models.py:164 +msgid "Pattern for generating label filenames" +msgstr "" + +#: label/models.py:313 label/models.py:352 label/models.py:377 +#: label/models.py:412 +msgid "Query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: label/models.py:314 label/models.py:353 label/models.py:378 +#: label/models.py:413 report/models.py:345 report/models.py:496 +#: report/models.py:532 report/models.py:568 report/models.py:750 +msgid "Filters" +msgstr "" + +#: label/templates/label/part/part_label.html:31 +#: label/templates/label/stockitem/qr.html:21 +#: label/templates/label/stocklocation/qr.html:20 +#: templates/allauth_2fa/setup.html:18 +msgid "QR Code" +msgstr "" + +#: label/templates/label/part/part_label_code128.html:31 +#: label/templates/label/stocklocation/qr_and_text.html:31 +#: templates/qr_code.html:7 +msgid "QR code" +msgstr "" + +#: machine/machine_types/label_printer.py:217 +msgid "Copies" +msgstr "" + +#: machine/machine_types/label_printer.py:218 +msgid "Number of copies to print for each label" +msgstr "" + +#: machine/machine_types/label_printer.py:233 +msgid "Connected" +msgstr "" + +#: machine/machine_types/label_printer.py:234 order/api.py:1511 +#: templates/js/translated/sales_order.js:1042 +msgid "Unknown" +msgstr "" + +#: machine/machine_types/label_printer.py:235 +msgid "Printing" +msgstr "" + +#: machine/machine_types/label_printer.py:236 +msgid "No media" +msgstr "" + +#: machine/machine_types/label_printer.py:237 +msgid "Disconnected" +msgstr "" + +#: machine/machine_types/label_printer.py:244 +msgid "Label Printer" +msgstr "" + +#: machine/machine_types/label_printer.py:245 +msgid "Directly print labels for various items." +msgstr "" + +#: machine/machine_types/label_printer.py:251 +msgid "Printer Location" +msgstr "" + +#: machine/machine_types/label_printer.py:252 +msgid "Scope the printer to a specific location" +msgstr "" + +#: machine/models.py:25 +msgid "Name of machine" +msgstr "" + +#: machine/models.py:29 +msgid "Machine Type" +msgstr "" + +#: machine/models.py:29 +msgid "Type of machine" +msgstr "" + +#: machine/models.py:34 machine/models.py:146 +msgid "Driver" +msgstr "" + +#: machine/models.py:35 +msgid "Driver used for the machine" +msgstr "" + +#: machine/models.py:39 +msgid "Machines can be disabled" +msgstr "" + +#: machine/models.py:95 +msgid "Driver available" +msgstr "" + +#: machine/models.py:100 +msgid "No errors" +msgstr "" + +#: machine/models.py:105 +msgid "Initialized" +msgstr "" + +#: machine/models.py:110 +msgid "Errors" +msgstr "" + +#: machine/models.py:117 +msgid "Machine status" +msgstr "" + +#: machine/models.py:145 +msgid "Machine" +msgstr "" + +#: machine/models.py:151 +msgid "Machine Config" +msgstr "" + +#: machine/models.py:156 +msgid "Config type" +msgstr "" + +#: order/admin.py:30 order/models.py:89 +#: report/templates/report/inventree_po_report_base.html:31 +#: report/templates/report/inventree_so_report_base.html:31 +#: templates/js/translated/order.js:327 +#: templates/js/translated/purchase_order.js:2126 +#: templates/js/translated/sales_order.js:1847 +msgid "Total Price" +msgstr "" + +#: order/api.py:157 order/templates/order/order_base.html:118 +#: order/templates/order/return_order_base.html:113 +#: order/templates/order/sales_order_base.html:118 +msgid "Order Status" +msgstr "" + +#: order/api.py:161 templates/js/translated/table_filters.js:194 +#: templates/js/translated/table_filters.js:779 +msgid "Has Pricing" +msgstr "" + +#: order/api.py:236 +msgid "No matching purchase order found" +msgstr "" + +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 +#: templates/js/translated/sales_order.js:1488 +msgid "Order" +msgstr "" + +#: order/api.py:437 order/api.py:834 +msgid "Order Complete" +msgstr "" + +#: order/api.py:458 +msgid "Order Pending" +msgstr "" + +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 +#: order/templates/order/order_base.html:9 +#: order/templates/order/order_base.html:18 +#: report/templates/report/inventree_po_report_base.html:14 +#: stock/templates/stock/item_base.html:176 +#: templates/email/overdue_purchase_order.html:15 +#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:804 +#: templates/js/translated/purchase_order.js:168 +#: templates/js/translated/purchase_order.js:753 +#: templates/js/translated/purchase_order.js:1674 +#: templates/js/translated/stock.js:2259 templates/js/translated/stock.js:2907 +msgid "Purchase Order" +msgstr "" + +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 +#: order/templates/order/return_order_base.html:9 +#: order/templates/order/return_order_base.html:28 +#: report/templates/report/inventree_return_order_report_base.html:13 +#: templates/js/translated/return_order.js:281 +#: templates/js/translated/stock.js:2941 +msgid "Return Order" +msgstr "" + +#: order/models.py:90 +msgid "Total price for this order" +msgstr "" + +#: order/models.py:95 order/serializers.py:71 +msgid "Order Currency" +msgstr "" + +#: order/models.py:98 order/serializers.py:72 +msgid "Currency for this order (leave blank to use company default)" +msgstr "" + +#: order/models.py:246 +msgid "Contact does not match selected company" +msgstr "" + +#: order/models.py:278 +msgid "Order description (optional)" +msgstr "" + +#: order/models.py:287 +msgid "Select project code for this order" +msgstr "" + +#: order/models.py:291 order/models.py:1288 order/models.py:1704 +msgid "Link to external page" +msgstr "" + +#: order/models.py:299 +msgid "Expected date for order delivery. Order will be overdue after this date." +msgstr "" + +#: order/models.py:313 +msgid "Created By" +msgstr "" + +#: order/models.py:321 +msgid "User or group responsible for this order" +msgstr "" + +#: order/models.py:332 +msgid "Point of contact for this order" +msgstr "" + +#: order/models.py:342 +msgid "Company address for this order" +msgstr "" + +#: order/models.py:443 order/models.py:899 +msgid "Order reference" +msgstr "" + +#: order/models.py:451 order/models.py:923 +msgid "Purchase order status" +msgstr "" + +#: order/models.py:466 +msgid "Company from which the items are being ordered" +msgstr "" + +#: order/models.py:477 order/templates/order/order_base.html:148 +#: templates/js/translated/purchase_order.js:1703 +msgid "Supplier Reference" +msgstr "" + +#: order/models.py:478 +msgid "Supplier order reference code" +msgstr "" + +#: order/models.py:487 +msgid "received by" +msgstr "" + +#: order/models.py:493 order/models.py:2036 +msgid "Issue Date" +msgstr "" + +#: order/models.py:494 order/models.py:2037 +msgid "Date order was issued" +msgstr "" + +#: order/models.py:501 order/models.py:2044 +msgid "Date order was completed" +msgstr "" + +#: order/models.py:545 +msgid "Part supplier must match PO supplier" +msgstr "" + +#: order/models.py:739 +msgid "Quantity must be a positive number" +msgstr "" + +#: order/models.py:911 +msgid "Company to which the items are being sold" +msgstr "" + +#: order/models.py:934 order/models.py:2029 +msgid "Customer Reference " +msgstr "" + +#: order/models.py:935 order/models.py:2030 +msgid "Customer order reference code" +msgstr "" + +#: order/models.py:939 order/models.py:1658 +#: templates/js/translated/sales_order.js:843 +#: templates/js/translated/sales_order.js:1024 +msgid "Shipment Date" +msgstr "" + +#: order/models.py:948 +msgid "shipped by" +msgstr "" + +#: order/models.py:999 +msgid "Order cannot be completed as no parts have been assigned" +msgstr "" + +#: order/models.py:1004 +msgid "Only an open order can be marked as complete" +msgstr "" + +#: order/models.py:1008 templates/js/translated/sales_order.js:506 +msgid "Order cannot be completed as there are incomplete shipments" +msgstr "" + +#: order/models.py:1013 +msgid "Order cannot be completed as there are incomplete line items" +msgstr "" + +#: order/models.py:1260 +msgid "Item quantity" +msgstr "" + +#: order/models.py:1277 +msgid "Line item reference" +msgstr "" + +#: order/models.py:1284 +msgid "Line item notes" +msgstr "" + +#: order/models.py:1296 +msgid "Target date for this line item (leave blank to use the target date from the order)" +msgstr "" + +#: order/models.py:1317 +msgid "Line item description (optional)" +msgstr "" + +#: order/models.py:1323 +msgid "Context" +msgstr "" + +#: order/models.py:1324 +msgid "Additional context for this line" +msgstr "" + +#: order/models.py:1334 +msgid "Unit price" +msgstr "" + +#: order/models.py:1367 +msgid "Supplier part must match supplier" +msgstr "" + +#: order/models.py:1374 +msgid "deleted" +msgstr "" + +#: order/models.py:1402 +msgid "Supplier part" +msgstr "" + +#: order/models.py:1409 order/templates/order/order_base.html:196 +#: templates/js/translated/part.js:1869 templates/js/translated/part.js:1901 +#: templates/js/translated/purchase_order.js:1306 +#: templates/js/translated/purchase_order.js:2170 +#: templates/js/translated/return_order.js:764 +#: templates/js/translated/table_filters.js:120 +#: templates/js/translated/table_filters.js:602 +msgid "Received" +msgstr "" + +#: order/models.py:1410 +msgid "Number of items received" +msgstr "" + +#: order/models.py:1418 stock/models.py:923 stock/serializers.py:400 +#: stock/templates/stock/item_base.html:183 +#: templates/js/translated/stock.js:2310 +msgid "Purchase Price" +msgstr "" + +#: order/models.py:1419 +msgid "Unit purchase price" +msgstr "" + +#: order/models.py:1434 +msgid "Where does the Purchaser want this item to be stored?" +msgstr "" + +#: order/models.py:1525 +msgid "Virtual part cannot be assigned to a sales order" +msgstr "" + +#: order/models.py:1530 +msgid "Only salable parts can be assigned to a sales order" +msgstr "" + +#: order/models.py:1556 part/templates/part/part_pricing.html:107 +#: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 +msgid "Sale Price" +msgstr "" + +#: order/models.py:1557 +msgid "Unit sale price" +msgstr "" + +#: order/models.py:1567 +msgid "Shipped quantity" +msgstr "" + +#: order/models.py:1659 +msgid "Date of shipment" +msgstr "" + +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 +msgid "Delivery Date" +msgstr "" + +#: order/models.py:1666 +msgid "Date of delivery of shipment" +msgstr "" + +#: order/models.py:1674 +msgid "Checked By" +msgstr "" + +#: order/models.py:1675 +msgid "User who checked this shipment" +msgstr "" + +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 +#: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 +msgid "Shipment" +msgstr "" + +#: order/models.py:1683 +msgid "Shipment number" +msgstr "" + +#: order/models.py:1691 +msgid "Tracking Number" +msgstr "" + +#: order/models.py:1692 +msgid "Shipment tracking information" +msgstr "" + +#: order/models.py:1699 +msgid "Invoice Number" +msgstr "" + +#: order/models.py:1700 +msgid "Reference number for associated invoice" +msgstr "" + +#: order/models.py:1720 +msgid "Shipment has already been sent" +msgstr "" + +#: order/models.py:1723 +msgid "Shipment has no allocated stock items" +msgstr "" + +#: order/models.py:1841 order/models.py:1843 +msgid "Stock item has not been assigned" +msgstr "" + +#: order/models.py:1850 +msgid "Cannot allocate stock item to a line with a different part" +msgstr "" + +#: order/models.py:1853 +msgid "Cannot allocate stock to a line without a part" +msgstr "" + +#: order/models.py:1856 +msgid "Allocation quantity cannot exceed stock quantity" +msgstr "" + +#: order/models.py:1875 order/serializers.py:1227 +msgid "Quantity must be 1 for serialized stock item" +msgstr "" + +#: order/models.py:1878 +msgid "Sales order does not match shipment" +msgstr "" + +#: order/models.py:1879 plugin/base/barcodes/api.py:481 +msgid "Shipment does not match sales order" +msgstr "" + +#: order/models.py:1887 +msgid "Line" +msgstr "" + +#: order/models.py:1896 +msgid "Sales order shipment reference" +msgstr "" + +#: order/models.py:1909 order/models.py:2217 +#: templates/js/translated/return_order.js:722 +msgid "Item" +msgstr "" + +#: order/models.py:1910 +msgid "Select stock item to allocate" +msgstr "" + +#: order/models.py:1919 +msgid "Enter stock allocation quantity" +msgstr "" + +#: order/models.py:1999 +msgid "Return Order reference" +msgstr "" + +#: order/models.py:2011 +msgid "Company from which items are being returned" +msgstr "" + +#: order/models.py:2023 +msgid "Return order status" +msgstr "" + +#: order/models.py:2202 +msgid "Only serialized items can be assigned to a Return Order" +msgstr "" + +#: order/models.py:2218 +msgid "Select item to return from customer" +msgstr "" + +#: order/models.py:2224 +msgid "Received Date" +msgstr "" + +#: order/models.py:2225 +msgid "The date this this return item was received" +msgstr "" + +#: order/models.py:2236 templates/js/translated/return_order.js:733 +#: templates/js/translated/table_filters.js:123 +msgid "Outcome" +msgstr "" + +#: order/models.py:2237 +msgid "Outcome for this line item" +msgstr "" + +#: order/models.py:2244 +msgid "Cost associated with return or repair for this line item" +msgstr "" + +#: order/serializers.py:283 +msgid "Order cannot be cancelled" +msgstr "" + +#: order/serializers.py:298 order/serializers.py:1243 +msgid "Allow order to be closed with incomplete line items" +msgstr "" + +#: order/serializers.py:308 order/serializers.py:1253 +msgid "Order has incomplete line items" +msgstr "" + +#: order/serializers.py:436 +msgid "Order is not open" +msgstr "" + +#: order/serializers.py:457 +msgid "Auto Pricing" +msgstr "" + +#: order/serializers.py:459 +msgid "Automatically calculate purchase price based on supplier part data" +msgstr "" + +#: order/serializers.py:469 +msgid "Purchase price currency" +msgstr "" + +#: order/serializers.py:475 +msgid "Merge Items" +msgstr "" + +#: order/serializers.py:477 +msgid "Merge items with the same part, destination and target date into one line item" +msgstr "" + +#: order/serializers.py:495 +msgid "Supplier part must be specified" +msgstr "" + +#: order/serializers.py:498 +msgid "Purchase order must be specified" +msgstr "" + +#: order/serializers.py:506 +msgid "Supplier must match purchase order" +msgstr "" + +#: order/serializers.py:507 +msgid "Purchase order must match supplier" +msgstr "" + +#: order/serializers.py:546 order/serializers.py:1321 +msgid "Line Item" +msgstr "" + +#: order/serializers.py:552 +msgid "Line item does not match purchase order" +msgstr "" + +#: order/serializers.py:562 order/serializers.py:670 order/serializers.py:1676 +msgid "Select destination location for received items" +msgstr "" + +#: order/serializers.py:578 templates/js/translated/purchase_order.js:1130 +msgid "Enter batch code for incoming stock items" +msgstr "" + +#: order/serializers.py:586 templates/js/translated/purchase_order.js:1154 +msgid "Enter serial numbers for incoming stock items" +msgstr "" + +#: order/serializers.py:597 templates/js/translated/barcode.js:52 +msgid "Barcode" +msgstr "" + +#: order/serializers.py:598 +msgid "Scanned barcode" +msgstr "" + +#: order/serializers.py:614 +msgid "Barcode is already in use" +msgstr "" + +#: order/serializers.py:638 +msgid "An integer quantity must be provided for trackable parts" +msgstr "" + +#: order/serializers.py:686 order/serializers.py:1692 +msgid "Line items must be provided" +msgstr "" + +#: order/serializers.py:702 +msgid "Destination location must be specified" +msgstr "" + +#: order/serializers.py:713 +msgid "Supplied barcode values must be unique" +msgstr "" + +#: order/serializers.py:1070 +msgid "Sale price currency" +msgstr "" + +#: order/serializers.py:1130 +msgid "No shipment details provided" +msgstr "" + +#: order/serializers.py:1191 order/serializers.py:1330 +msgid "Line item is not associated with this order" +msgstr "" + +#: order/serializers.py:1210 +msgid "Quantity must be positive" +msgstr "" + +#: order/serializers.py:1340 +msgid "Enter serial numbers to allocate" +msgstr "" + +#: order/serializers.py:1362 order/serializers.py:1468 +msgid "Shipment has already been shipped" +msgstr "" + +#: order/serializers.py:1365 order/serializers.py:1471 +msgid "Shipment is not associated with this order" +msgstr "" + +#: order/serializers.py:1412 +msgid "No match found for the following serial numbers" +msgstr "" + +#: order/serializers.py:1419 +msgid "The following serial numbers are already allocated" +msgstr "" + +#: order/serializers.py:1646 +msgid "Return order line item" +msgstr "" + +#: order/serializers.py:1652 +msgid "Line item does not match return order" +msgstr "" + +#: order/serializers.py:1655 +msgid "Line item has already been received" +msgstr "" + +#: order/serializers.py:1684 +msgid "Items can only be received against orders which are in progress" +msgstr "" + +#: order/serializers.py:1762 +msgid "Line price currency" +msgstr "" + +#: order/tasks.py:25 +msgid "Overdue Purchase Order" +msgstr "" + +#: order/tasks.py:30 +#, python-brace-format +msgid "Purchase order {po} is now overdue" +msgstr "" + +#: order/tasks.py:75 +msgid "Overdue Sales Order" +msgstr "" + +#: order/tasks.py:80 +#, python-brace-format +msgid "Sales order {so} is now overdue" +msgstr "" + +#: order/templates/order/order_base.html:51 +msgid "Print purchase order report" +msgstr "" + +#: order/templates/order/order_base.html:53 +#: order/templates/order/return_order_base.html:62 +#: order/templates/order/sales_order_base.html:62 +msgid "Export order to file" +msgstr "" + +#: order/templates/order/order_base.html:59 +#: order/templates/order/return_order_base.html:72 +#: order/templates/order/sales_order_base.html:71 +msgid "Order actions" +msgstr "" + +#: order/templates/order/order_base.html:64 +#: order/templates/order/return_order_base.html:76 +#: order/templates/order/sales_order_base.html:75 +msgid "Edit order" +msgstr "" + +#: order/templates/order/order_base.html:68 +#: order/templates/order/return_order_base.html:78 +#: order/templates/order/sales_order_base.html:77 +msgid "Cancel order" +msgstr "" + +#: order/templates/order/order_base.html:73 +msgid "Duplicate order" +msgstr "" + +#: order/templates/order/order_base.html:79 +#: order/templates/order/order_base.html:80 +#: order/templates/order/return_order_base.html:82 +#: order/templates/order/return_order_base.html:83 +#: order/templates/order/sales_order_base.html:83 +#: order/templates/order/sales_order_base.html:84 +msgid "Issue Order" +msgstr "" + +#: order/templates/order/order_base.html:83 +#: order/templates/order/return_order_base.html:86 +msgid "Mark order as complete" +msgstr "" + +#: order/templates/order/order_base.html:84 +#: order/templates/order/return_order_base.html:87 +#: order/templates/order/sales_order_base.html:93 +msgid "Complete Order" +msgstr "" + +#: order/templates/order/order_base.html:91 +msgid "Supplier part thumbnail" +msgstr "" + +#: order/templates/order/order_base.html:106 +#: order/templates/order/return_order_base.html:101 +#: order/templates/order/sales_order_base.html:106 +msgid "Order Reference" +msgstr "" + +#: order/templates/order/order_base.html:111 +#: order/templates/order/return_order_base.html:106 +#: order/templates/order/sales_order_base.html:111 +msgid "Order Description" +msgstr "" + +#: order/templates/order/order_base.html:141 +msgid "No suppplier information available" +msgstr "" + +#: order/templates/order/order_base.html:154 +#: order/templates/order/sales_order_base.html:157 +msgid "Completed Line Items" +msgstr "" + +#: order/templates/order/order_base.html:160 +#: order/templates/order/sales_order_base.html:163 +#: order/templates/order/sales_order_base.html:173 +msgid "Incomplete" +msgstr "" + +#: order/templates/order/order_base.html:179 +#: order/templates/order/return_order_base.html:157 +#: report/templates/report/inventree_build_order_base.html:121 +msgid "Issued" +msgstr "" + +#: order/templates/order/order_base.html:224 +msgid "Total cost" +msgstr "" + +#: order/templates/order/order_base.html:228 +#: order/templates/order/return_order_base.html:199 +#: order/templates/order/sales_order_base.html:239 +msgid "Total cost could not be calculated" +msgstr "" + +#: order/templates/order/order_base.html:318 +msgid "Purchase Order QR Code" +msgstr "" + +#: order/templates/order/order_base.html:330 +msgid "Link Barcode to Purchase Order" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:9 +#: part/templates/part/import_wizard/ajax_match_fields.html:9 +#: part/templates/part/import_wizard/match_fields.html:9 +#: templates/patterns/wizard/match_fields.html:8 +msgid "Missing selections for the following required columns" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:20 +#: part/templates/part/import_wizard/ajax_match_fields.html:20 +#: part/templates/part/import_wizard/match_fields.html:20 +#: templates/patterns/wizard/match_fields.html:19 +msgid "Duplicate selections found, see below. Fix them then retry submitting." +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:29 +#: order/templates/order/order_wizard/match_parts.html:21 +#: part/templates/part/import_wizard/match_fields.html:29 +#: part/templates/part/import_wizard/match_references.html:21 +#: templates/patterns/wizard/match_fields.html:28 +msgid "Submit Selections" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:35 +#: part/templates/part/import_wizard/ajax_match_fields.html:28 +#: part/templates/part/import_wizard/match_fields.html:35 +#: templates/patterns/wizard/match_fields.html:34 +msgid "File Fields" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:42 +#: part/templates/part/import_wizard/ajax_match_fields.html:35 +#: part/templates/part/import_wizard/match_fields.html:42 +#: templates/patterns/wizard/match_fields.html:41 +msgid "Remove column" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:60 +#: part/templates/part/import_wizard/ajax_match_fields.html:53 +#: part/templates/part/import_wizard/match_fields.html:60 +#: templates/patterns/wizard/match_fields.html:59 +msgid "Duplicate selection" +msgstr "" + +#: order/templates/order/order_wizard/match_fields.html:71 +#: order/templates/order/order_wizard/match_parts.html:52 +#: part/templates/part/import_wizard/ajax_match_fields.html:64 +#: part/templates/part/import_wizard/ajax_match_references.html:42 +#: part/templates/part/import_wizard/match_fields.html:71 +#: part/templates/part/import_wizard/match_references.html:49 +#: templates/js/translated/bom.js:133 templates/js/translated/build.js:529 +#: templates/js/translated/build.js:1626 +#: templates/js/translated/purchase_order.js:696 +#: templates/js/translated/purchase_order.js:1236 +#: templates/js/translated/return_order.js:506 +#: templates/js/translated/sales_order.js:1109 +#: templates/js/translated/stock.js:714 templates/js/translated/stock.js:883 +#: templates/patterns/wizard/match_fields.html:70 +msgid "Remove row" +msgstr "" + +#: order/templates/order/order_wizard/match_parts.html:12 +#: part/templates/part/import_wizard/ajax_match_references.html:12 +#: part/templates/part/import_wizard/match_references.html:12 +msgid "Errors exist in the submitted data" +msgstr "" + +#: order/templates/order/order_wizard/match_parts.html:28 +#: part/templates/part/import_wizard/ajax_match_references.html:21 +#: part/templates/part/import_wizard/match_references.html:28 +msgid "Row" +msgstr "" + +#: order/templates/order/order_wizard/match_parts.html:29 +msgid "Select Supplier Part" +msgstr "" + +#: order/templates/order/order_wizard/po_upload.html:8 +msgid "Return to Orders" +msgstr "" + +#: order/templates/order/order_wizard/po_upload.html:13 +msgid "Upload File for Purchase Order" +msgstr "" + +#: order/templates/order/order_wizard/po_upload.html:14 +msgid "Order is already processed. Files cannot be uploaded." +msgstr "" + +#: order/templates/order/order_wizard/po_upload.html:27 +#: part/templates/part/import_wizard/ajax_part_upload.html:10 +#: part/templates/part/import_wizard/part_upload.html:26 +#: templates/patterns/wizard/upload.html:13 +#, python-format +msgid "Step %(step)s of %(count)s" +msgstr "" + +#: order/templates/order/po_sidebar.html:5 +#: order/templates/order/return_order_detail.html:18 +#: order/templates/order/so_sidebar.html:5 +#: report/templates/report/inventree_po_report_base.html:22 +#: report/templates/report/inventree_return_order_report_base.html:19 +#: report/templates/report/inventree_so_report_base.html:22 +msgid "Line Items" +msgstr "" + +#: order/templates/order/po_sidebar.html:7 +msgid "Received Stock" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:18 +msgid "Purchase Order Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:27 +#: order/templates/order/return_order_detail.html:24 +#: order/templates/order/sales_order_detail.html:24 +#: templates/js/translated/purchase_order.js:414 +#: templates/js/translated/return_order.js:459 +#: templates/js/translated/sales_order.js:237 +msgid "Add Line Item" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:31 +#: order/templates/order/purchase_order_detail.html:32 +#: order/templates/order/return_order_detail.html:28 +#: order/templates/order/return_order_detail.html:29 +msgid "Receive Line Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:50 +#: order/templates/order/return_order_detail.html:45 +#: order/templates/order/sales_order_detail.html:41 +msgid "Extra Lines" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:56 +#: order/templates/order/return_order_detail.html:51 +#: order/templates/order/sales_order_detail.html:47 +msgid "Add Extra Line" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:74 +msgid "Received Items" +msgstr "" + +#: order/templates/order/purchase_order_detail.html:99 +#: order/templates/order/return_order_detail.html:85 +#: order/templates/order/sales_order_detail.html:139 +msgid "Order Notes" +msgstr "" + +#: order/templates/order/return_order_base.html:18 +#: order/templates/order/sales_order_base.html:18 +msgid "Customer logo thumbnail" +msgstr "" + +#: order/templates/order/return_order_base.html:60 +msgid "Print return order report" +msgstr "" + +#: order/templates/order/return_order_base.html:64 +#: order/templates/order/sales_order_base.html:64 +msgid "Print packing list" +msgstr "" + +#: order/templates/order/return_order_base.html:138 +#: order/templates/order/sales_order_base.html:151 +#: templates/js/translated/return_order.js:309 +#: templates/js/translated/sales_order.js:797 +msgid "Customer Reference" +msgstr "" + +#: order/templates/order/return_order_base.html:195 +#: order/templates/order/sales_order_base.html:235 +#: part/templates/part/part_pricing.html:32 +#: part/templates/part/part_pricing.html:58 +#: part/templates/part/part_pricing.html:99 +#: part/templates/part/part_pricing.html:114 +#: templates/js/translated/part.js:1072 +#: templates/js/translated/purchase_order.js:1753 +#: templates/js/translated/return_order.js:381 +#: templates/js/translated/sales_order.js:855 +msgid "Total Cost" +msgstr "" + +#: order/templates/order/return_order_base.html:263 +msgid "Return Order QR Code" +msgstr "" + +#: order/templates/order/return_order_base.html:275 +msgid "Link Barcode to Return Order" +msgstr "" + +#: order/templates/order/return_order_sidebar.html:5 +msgid "Order Details" +msgstr "" + +#: order/templates/order/sales_order_base.html:60 +msgid "Print sales order report" +msgstr "" + +#: order/templates/order/sales_order_base.html:88 +#: order/templates/order/sales_order_base.html:89 +msgid "Ship Items" +msgstr "" + +#: order/templates/order/sales_order_base.html:92 +#: templates/js/translated/sales_order.js:484 +msgid "Complete Sales Order" +msgstr "" + +#: order/templates/order/sales_order_base.html:131 +msgid "This Sales Order has not been fully allocated" +msgstr "" + +#: order/templates/order/sales_order_base.html:169 +#: order/templates/order/sales_order_detail.html:99 +#: order/templates/order/so_sidebar.html:11 +msgid "Completed Shipments" +msgstr "" + +#: order/templates/order/sales_order_base.html:312 +msgid "Sales Order QR Code" +msgstr "" + +#: order/templates/order/sales_order_base.html:324 +msgid "Link Barcode to Sales Order" +msgstr "" + +#: order/templates/order/sales_order_detail.html:18 +msgid "Sales Order Items" +msgstr "" + +#: order/templates/order/sales_order_detail.html:67 +#: order/templates/order/so_sidebar.html:8 templates/InvenTree/index.html:284 +msgid "Pending Shipments" +msgstr "" + +#: order/templates/order/sales_order_detail.html:71 +#: templates/js/translated/bom.js:1277 templates/js/translated/filters.js:296 +msgid "Actions" +msgstr "" + +#: order/templates/order/sales_order_detail.html:80 +msgid "New Shipment" +msgstr "" + +#: order/views.py:120 +msgid "Match Supplier Parts" +msgstr "" + +#: order/views.py:406 +msgid "Sales order not found" +msgstr "" + +#: order/views.py:412 +msgid "Price not found" +msgstr "" + +#: order/views.py:415 +#, python-brace-format +msgid "Updated {part} unit-price to {price}" +msgstr "" + +#: order/views.py:421 +#, python-brace-format +msgid "Updated {part} unit-price to {price} and quantity to {qty}" +msgstr "" + +#: part/admin.py:39 part/admin.py:404 part/models.py:3921 part/stocktake.py:218 +#: stock/admin.py:153 +msgid "Part ID" +msgstr "" + +#: part/admin.py:41 part/admin.py:411 part/models.py:3922 part/stocktake.py:219 +#: stock/admin.py:157 +msgid "Part Name" +msgstr "" + +#: part/admin.py:45 part/stocktake.py:220 +msgid "Part Description" +msgstr "" + +#: part/admin.py:48 part/models.py:904 part/templates/part/part_base.html:269 +#: report/templates/report/inventree_slr_report.html:103 +#: templates/js/translated/part.js:1226 templates/js/translated/part.js:2341 +#: templates/js/translated/stock.js:2035 +msgid "IPN" +msgstr "" + +#: part/admin.py:50 part/models.py:913 part/templates/part/part_base.html:277 +#: report/models.py:195 templates/js/translated/part.js:1231 +#: templates/js/translated/part.js:2347 +msgid "Revision" +msgstr "" + +#: part/admin.py:53 part/admin.py:317 part/models.py:886 +#: part/templates/part/category.html:94 part/templates/part/part_base.html:298 +msgid "Keywords" +msgstr "" + +#: part/admin.py:60 +msgid "Part Image" +msgstr "" + +#: part/admin.py:63 part/admin.py:300 part/stocktake.py:221 +msgid "Category ID" +msgstr "" + +#: part/admin.py:67 part/admin.py:302 part/stocktake.py:222 +msgid "Category Name" +msgstr "" + +#: part/admin.py:71 part/admin.py:314 +msgid "Default Location ID" +msgstr "" + +#: part/admin.py:76 +msgid "Default Supplier ID" +msgstr "" + +#: part/admin.py:81 part/models.py:872 part/templates/part/part_base.html:177 +msgid "Variant Of" +msgstr "" + +#: part/admin.py:84 part/models.py:1000 part/templates/part/part_base.html:203 +msgid "Minimum Stock" +msgstr "" + +#: part/admin.py:138 part/templates/part/part_sidebar.html:27 +msgid "Used In" +msgstr "" + +#: part/admin.py:150 part/templates/part/part_base.html:241 stock/admin.py:231 +#: templates/js/translated/part.js:714 templates/js/translated/part.js:2152 +msgid "Building" +msgstr "" + +#: part/admin.py:155 part/models.py:3080 part/models.py:3094 +#: templates/js/translated/part.js:969 +msgid "Minimum Cost" +msgstr "" + +#: part/admin.py:158 part/models.py:3087 part/models.py:3101 +#: templates/js/translated/part.js:979 +msgid "Maximum Cost" +msgstr "" + +#: part/admin.py:306 part/admin.py:393 stock/admin.py:58 stock/admin.py:211 +msgid "Parent ID" +msgstr "" + +#: part/admin.py:310 part/admin.py:400 stock/admin.py:62 +msgid "Parent Name" +msgstr "" + +#: part/admin.py:318 part/templates/part/category.html:88 +#: part/templates/part/category.html:101 +msgid "Category Path" +msgstr "" + +#: part/admin.py:323 part/models.py:391 part/serializers.py:117 +#: part/serializers.py:272 part/serializers.py:391 +#: part/templates/part/cat_link.html:3 part/templates/part/category.html:23 +#: part/templates/part/category.html:141 part/templates/part/category.html:161 +#: part/templates/part/category_sidebar.html:9 +#: templates/InvenTree/index.html:36 templates/InvenTree/search.html:84 +#: templates/InvenTree/settings/sidebar.html:47 +#: templates/js/translated/part.js:2804 templates/js/translated/search.js:130 +#: templates/navbar.html:24 users/models.py:203 +msgid "Parts" +msgstr "" + +#: part/admin.py:384 +msgid "BOM Level" +msgstr "" + +#: part/admin.py:387 +msgid "BOM Item ID" +msgstr "" + +#: part/admin.py:397 +msgid "Parent IPN" +msgstr "" + +#: part/admin.py:408 part/models.py:3923 +msgid "Part IPN" +msgstr "" + +#: part/admin.py:421 part/serializers.py:1261 +#: templates/js/translated/pricing.js:358 +#: templates/js/translated/pricing.js:1024 +msgid "Minimum Price" +msgstr "" + +#: part/admin.py:426 part/serializers.py:1276 +#: templates/js/translated/pricing.js:353 +#: templates/js/translated/pricing.js:1032 +msgid "Maximum Price" +msgstr "" + +#: part/api.py:119 +msgid "Starred" +msgstr "" + +#: part/api.py:121 +msgid "Filter by starred categories" +msgstr "" + +#: part/api.py:138 stock/api.py:284 +msgid "Depth" +msgstr "" + +#: part/api.py:138 +msgid "Filter by category depth" +msgstr "" + +#: part/api.py:156 stock/api.py:302 +msgid "Cascade" +msgstr "" + +#: part/api.py:158 +msgid "Include sub-categories in filtered results" +msgstr "" + +#: part/api.py:178 +msgid "Parent" +msgstr "" + +#: part/api.py:180 +msgid "Filter by parent category" +msgstr "" + +#: part/api.py:213 +msgid "Exclude Tree" +msgstr "" + +#: part/api.py:215 +msgid "Exclude sub-categories under the specified category" +msgstr "" + +#: part/api.py:461 +msgid "Has Results" +msgstr "" + +#: part/api.py:628 +msgid "Incoming Purchase Order" +msgstr "" + +#: part/api.py:646 +msgid "Outgoing Sales Order" +msgstr "" + +#: part/api.py:662 +msgid "Stock produced by Build Order" +msgstr "" + +#: part/api.py:746 +msgid "Stock required for Build Order" +msgstr "" + +#: part/api.py:893 +msgid "Valid" +msgstr "" + +#: part/api.py:894 +msgid "Validate entire Bill of Materials" +msgstr "" + +#: part/api.py:900 +msgid "This option must be selected" +msgstr "" + +#: part/api.py:1561 part/models.py:896 part/models.py:3386 part/models.py:3866 +#: part/serializers.py:406 part/serializers.py:1117 +#: part/templates/part/part_base.html:260 stock/api.py:745 +#: templates/InvenTree/settings/settings_staff_js.html:300 +#: templates/js/translated/notification.js:60 +#: templates/js/translated/part.js:2377 +msgid "Category" +msgstr "" + +#: part/api.py:1849 +msgid "Uses" +msgstr "" + +#: part/bom.py:170 part/models.py:101 part/models.py:939 +#: part/templates/part/category.html:116 part/templates/part/part_base.html:367 +msgid "Default Location" +msgstr "" + +#: part/bom.py:171 part/serializers.py:822 +#: templates/email/low_stock_notification.html:16 +msgid "Total Stock" +msgstr "" + +#: part/forms.py:49 +msgid "Input quantity for price calculation" +msgstr "" + +#: part/models.py:82 part/models.py:3867 part/templates/part/category.html:16 +#: part/templates/part/part_app_base.html:10 +msgid "Part Category" +msgstr "" + +#: part/models.py:83 part/templates/part/category.html:136 +#: templates/InvenTree/search.html:97 templates/js/translated/search.js:158 +#: users/models.py:202 +msgid "Part Categories" +msgstr "" + +#: part/models.py:102 +msgid "Default location for parts in this category" +msgstr "" + +#: part/models.py:107 stock/models.py:165 templates/js/translated/part.js:2810 +#: templates/js/translated/stock.js:2772 +#: templates/js/translated/table_filters.js:239 +#: templates/js/translated/table_filters.js:283 +msgid "Structural" +msgstr "" + +#: part/models.py:109 +msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories." +msgstr "" + +#: part/models.py:118 +msgid "Default keywords" +msgstr "" + +#: part/models.py:119 +msgid "Default keywords for parts in this category" +msgstr "" + +#: part/models.py:125 stock/models.py:89 stock/models.py:148 +#: templates/InvenTree/settings/settings_staff_js.html:456 +msgid "Icon" +msgstr "" + +#: part/models.py:126 stock/models.py:149 +msgid "Icon (optional)" +msgstr "" + +#: part/models.py:148 +msgid "You cannot make this part category structural because some parts are already assigned to it!" +msgstr "" + +#: part/models.py:484 +msgid "Invalid choice for parent part" +msgstr "" + +#: part/models.py:532 part/models.py:539 +#, python-brace-format +msgid "Part '{self}' cannot be used in BOM for '{parent}' (recursive)" +msgstr "" + +#: part/models.py:551 +#, python-brace-format +msgid "Part '{parent}' is used in BOM for '{self}' (recursive)" +msgstr "" + +#: part/models.py:616 +#, python-brace-format +msgid "IPN must match regex pattern {pattern}" +msgstr "" + +#: part/models.py:696 +msgid "Stock item with this serial number already exists" +msgstr "" + +#: part/models.py:801 +msgid "Duplicate IPN not allowed in part settings" +msgstr "" + +#: part/models.py:811 +msgid "Part with this Name, IPN and Revision already exists." +msgstr "" + +#: part/models.py:826 +msgid "Parts cannot be assigned to structural part categories!" +msgstr "" + +#: part/models.py:855 part/models.py:3922 +msgid "Part name" +msgstr "" + +#: part/models.py:860 +msgid "Is Template" +msgstr "" + +#: part/models.py:861 +msgid "Is this part a template part?" +msgstr "" + +#: part/models.py:871 +msgid "Is this part a variant of another part?" +msgstr "" + +#: part/models.py:879 +msgid "Part description (optional)" +msgstr "" + +#: part/models.py:887 +msgid "Part keywords to improve visibility in search results" +msgstr "" + +#: part/models.py:897 +msgid "Part category" +msgstr "" + +#: part/models.py:905 +msgid "Internal Part Number" +msgstr "" + +#: part/models.py:912 +msgid "Part revision or version number" +msgstr "" + +#: part/models.py:937 +msgid "Where is this item normally stored?" +msgstr "" + +#: part/models.py:983 part/templates/part/part_base.html:376 +msgid "Default Supplier" +msgstr "" + +#: part/models.py:984 +msgid "Default supplier part" +msgstr "" + +#: part/models.py:991 +msgid "Default Expiry" +msgstr "" + +#: part/models.py:992 +msgid "Expiry time (in days) for stock items of this part" +msgstr "" + +#: part/models.py:1001 +msgid "Minimum allowed stock level" +msgstr "" + +#: part/models.py:1010 +msgid "Units of measure for this part" +msgstr "" + +#: part/models.py:1017 +msgid "Can this part be built from other parts?" +msgstr "" + +#: part/models.py:1023 +msgid "Can this part be used to build other parts?" +msgstr "" + +#: part/models.py:1029 +msgid "Does this part have tracking for unique items?" +msgstr "" + +#: part/models.py:1035 +msgid "Can this part be purchased from external suppliers?" +msgstr "" + +#: part/models.py:1041 +msgid "Can this part be sold to customers?" +msgstr "" + +#: part/models.py:1045 +msgid "Is this part active?" +msgstr "" + +#: part/models.py:1051 +msgid "Is this a virtual part, such as a software product or license?" +msgstr "" + +#: part/models.py:1057 +msgid "BOM checksum" +msgstr "" + +#: part/models.py:1058 +msgid "Stored BOM checksum" +msgstr "" + +#: part/models.py:1066 +msgid "BOM checked by" +msgstr "" + +#: part/models.py:1071 +msgid "BOM checked date" +msgstr "" + +#: part/models.py:1087 +msgid "Creation User" +msgstr "" + +#: part/models.py:1097 +msgid "Owner responsible for this part" +msgstr "" + +#: part/models.py:1102 part/templates/part/part_base.html:339 +#: stock/templates/stock/item_base.html:451 +#: templates/js/translated/part.js:2471 +msgid "Last Stocktake" +msgstr "" + +#: part/models.py:1975 +msgid "Sell multiple" +msgstr "" + +#: part/models.py:2994 +msgid "Currency used to cache pricing calculations" +msgstr "" + +#: part/models.py:3010 +msgid "Minimum BOM Cost" +msgstr "" + +#: part/models.py:3011 +msgid "Minimum cost of component parts" +msgstr "" + +#: part/models.py:3017 +msgid "Maximum BOM Cost" +msgstr "" + +#: part/models.py:3018 +msgid "Maximum cost of component parts" +msgstr "" + +#: part/models.py:3024 +msgid "Minimum Purchase Cost" +msgstr "" + +#: part/models.py:3025 +msgid "Minimum historical purchase cost" +msgstr "" + +#: part/models.py:3031 +msgid "Maximum Purchase Cost" +msgstr "" + +#: part/models.py:3032 +msgid "Maximum historical purchase cost" +msgstr "" + +#: part/models.py:3038 +msgid "Minimum Internal Price" +msgstr "" + +#: part/models.py:3039 +msgid "Minimum cost based on internal price breaks" +msgstr "" + +#: part/models.py:3045 +msgid "Maximum Internal Price" +msgstr "" + +#: part/models.py:3046 +msgid "Maximum cost based on internal price breaks" +msgstr "" + +#: part/models.py:3052 +msgid "Minimum Supplier Price" +msgstr "" + +#: part/models.py:3053 +msgid "Minimum price of part from external suppliers" +msgstr "" + +#: part/models.py:3059 +msgid "Maximum Supplier Price" +msgstr "" + +#: part/models.py:3060 +msgid "Maximum price of part from external suppliers" +msgstr "" + +#: part/models.py:3066 +msgid "Minimum Variant Cost" +msgstr "" + +#: part/models.py:3067 +msgid "Calculated minimum cost of variant parts" +msgstr "" + +#: part/models.py:3073 +msgid "Maximum Variant Cost" +msgstr "" + +#: part/models.py:3074 +msgid "Calculated maximum cost of variant parts" +msgstr "" + +#: part/models.py:3081 +msgid "Override minimum cost" +msgstr "" + +#: part/models.py:3088 +msgid "Override maximum cost" +msgstr "" + +#: part/models.py:3095 +msgid "Calculated overall minimum cost" +msgstr "" + +#: part/models.py:3102 +msgid "Calculated overall maximum cost" +msgstr "" + +#: part/models.py:3108 +msgid "Minimum Sale Price" +msgstr "" + +#: part/models.py:3109 +msgid "Minimum sale price based on price breaks" +msgstr "" + +#: part/models.py:3115 +msgid "Maximum Sale Price" +msgstr "" + +#: part/models.py:3116 +msgid "Maximum sale price based on price breaks" +msgstr "" + +#: part/models.py:3122 +msgid "Minimum Sale Cost" +msgstr "" + +#: part/models.py:3123 +msgid "Minimum historical sale price" +msgstr "" + +#: part/models.py:3129 +msgid "Maximum Sale Cost" +msgstr "" + +#: part/models.py:3130 +msgid "Maximum historical sale price" +msgstr "" + +#: part/models.py:3149 +msgid "Part for stocktake" +msgstr "" + +#: part/models.py:3154 +msgid "Item Count" +msgstr "" + +#: part/models.py:3155 +msgid "Number of individual stock entries at time of stocktake" +msgstr "" + +#: part/models.py:3163 +msgid "Total available stock at time of stocktake" +msgstr "" + +#: part/models.py:3167 part/models.py:3250 +#: part/templates/part/part_scheduling.html:13 +#: report/templates/report/inventree_test_report_base.html:106 +#: templates/InvenTree/settings/plugin_settings.html:37 +#: templates/InvenTree/settings/settings_staff_js.html:540 +#: templates/js/translated/part.js:1085 templates/js/translated/pricing.js:826 +#: templates/js/translated/pricing.js:950 +#: templates/js/translated/purchase_order.js:1732 +#: templates/js/translated/stock.js:2821 +msgid "Date" +msgstr "" + +#: part/models.py:3168 +msgid "Date stocktake was performed" +msgstr "" + +#: part/models.py:3176 +msgid "Additional notes" +msgstr "" + +#: part/models.py:3186 +msgid "User who performed this stocktake" +msgstr "" + +#: part/models.py:3192 +msgid "Minimum Stock Cost" +msgstr "" + +#: part/models.py:3193 +msgid "Estimated minimum cost of stock on hand" +msgstr "" + +#: part/models.py:3199 +msgid "Maximum Stock Cost" +msgstr "" + +#: part/models.py:3200 +msgid "Estimated maximum cost of stock on hand" +msgstr "" + +#: part/models.py:3256 templates/InvenTree/settings/settings_staff_js.html:529 +msgid "Report" +msgstr "" + +#: part/models.py:3257 +msgid "Stocktake report file (generated internally)" +msgstr "" + +#: part/models.py:3262 templates/InvenTree/settings/settings_staff_js.html:536 +msgid "Part Count" +msgstr "" + +#: part/models.py:3263 +msgid "Number of parts covered by stocktake" +msgstr "" + +#: part/models.py:3273 +msgid "User who requested this stocktake report" +msgstr "" + +#: part/models.py:3435 +msgid "Invalid template name - must include at least one alphanumeric character" +msgstr "" + +#: part/models.py:3446 +msgid "Test templates can only be created for trackable parts" +msgstr "" + +#: part/models.py:3457 +msgid "Test template with the same key already exists for part" +msgstr "" + +#: part/models.py:3474 templates/js/translated/part.js:2879 +msgid "Test Name" +msgstr "" + +#: part/models.py:3475 +msgid "Enter a name for the test" +msgstr "" + +#: part/models.py:3481 +msgid "Test Key" +msgstr "" + +#: part/models.py:3482 +msgid "Simplified key for the test" +msgstr "" + +#: part/models.py:3489 +msgid "Test Description" +msgstr "" + +#: part/models.py:3490 +msgid "Enter description for this test" +msgstr "" + +#: part/models.py:3494 +msgid "Is this test enabled?" +msgstr "" + +#: part/models.py:3499 templates/js/translated/part.js:2908 +#: templates/js/translated/table_filters.js:477 +msgid "Required" +msgstr "" + +#: part/models.py:3500 +msgid "Is this test required to pass?" +msgstr "" + +#: part/models.py:3505 templates/js/translated/part.js:2916 +msgid "Requires Value" +msgstr "" + +#: part/models.py:3506 +msgid "Does this test require a value when adding a test result?" +msgstr "" + +#: part/models.py:3511 templates/js/translated/part.js:2923 +msgid "Requires Attachment" +msgstr "" + +#: part/models.py:3513 +msgid "Does this test require a file attachment when adding a test result?" +msgstr "" + +#: part/models.py:3560 +msgid "Checkbox parameters cannot have units" +msgstr "" + +#: part/models.py:3565 +msgid "Checkbox parameters cannot have choices" +msgstr "" + +#: part/models.py:3585 +msgid "Choices must be unique" +msgstr "" + +#: part/models.py:3602 +msgid "Parameter template name must be unique" +msgstr "" + +#: part/models.py:3617 +msgid "Parameter Name" +msgstr "" + +#: part/models.py:3624 +msgid "Physical units for this parameter" +msgstr "" + +#: part/models.py:3632 +msgid "Parameter description" +msgstr "" + +#: part/models.py:3638 templates/js/translated/part.js:1627 +#: templates/js/translated/table_filters.js:825 +msgid "Checkbox" +msgstr "" + +#: part/models.py:3639 +msgid "Is this parameter a checkbox?" +msgstr "" + +#: part/models.py:3644 templates/js/translated/part.js:1636 +msgid "Choices" +msgstr "" + +#: part/models.py:3645 +msgid "Valid choices for this parameter (comma-separated)" +msgstr "" + +#: part/models.py:3722 +msgid "Invalid choice for parameter value" +msgstr "" + +#: part/models.py:3765 +msgid "Parent Part" +msgstr "" + +#: part/models.py:3773 part/models.py:3874 part/models.py:3875 +#: templates/InvenTree/settings/settings_staff_js.html:295 +msgid "Parameter Template" +msgstr "" + +#: part/models.py:3778 +msgid "Data" +msgstr "" + +#: part/models.py:3779 +msgid "Parameter Value" +msgstr "" + +#: part/models.py:3881 templates/InvenTree/settings/settings_staff_js.html:304 +msgid "Default Value" +msgstr "" + +#: part/models.py:3882 +msgid "Default Parameter Value" +msgstr "" + +#: part/models.py:3920 +msgid "Part ID or part name" +msgstr "" + +#: part/models.py:3921 +msgid "Unique part ID value" +msgstr "" + +#: part/models.py:3923 +msgid "Part IPN value" +msgstr "" + +#: part/models.py:3924 +msgid "Level" +msgstr "" + +#: part/models.py:3924 +msgid "BOM level" +msgstr "" + +#: part/models.py:4014 +msgid "Select parent part" +msgstr "" + +#: part/models.py:4024 +msgid "Sub part" +msgstr "" + +#: part/models.py:4025 +msgid "Select part to be used in BOM" +msgstr "" + +#: part/models.py:4036 +msgid "BOM quantity for this BOM item" +msgstr "" + +#: part/models.py:4042 +msgid "This BOM item is optional" +msgstr "" + +#: part/models.py:4048 +msgid "This BOM item is consumable (it is not tracked in build orders)" +msgstr "" + +#: part/models.py:4055 part/templates/part/upload_bom.html:55 +msgid "Overage" +msgstr "" + +#: part/models.py:4056 +msgid "Estimated build wastage quantity (absolute or percentage)" +msgstr "" + +#: part/models.py:4063 +msgid "BOM item reference" +msgstr "" + +#: part/models.py:4071 +msgid "BOM item notes" +msgstr "" + +#: part/models.py:4077 +msgid "Checksum" +msgstr "" + +#: part/models.py:4078 +msgid "BOM line checksum" +msgstr "" + +#: part/models.py:4083 templates/js/translated/table_filters.js:174 +msgid "Validated" +msgstr "" + +#: part/models.py:4084 +msgid "This BOM item has been validated" +msgstr "" + +#: part/models.py:4089 part/templates/part/upload_bom.html:57 +#: templates/js/translated/bom.js:1054 +#: templates/js/translated/table_filters.js:178 +#: templates/js/translated/table_filters.js:211 +msgid "Gets inherited" +msgstr "" + +#: part/models.py:4090 +msgid "This BOM item is inherited by BOMs for variant parts" +msgstr "" + +#: part/models.py:4095 part/templates/part/upload_bom.html:56 +#: templates/js/translated/bom.js:1046 +msgid "Allow Variants" +msgstr "" + +#: part/models.py:4096 +msgid "Stock items for variant parts can be used for this BOM item" +msgstr "" + +#: part/models.py:4181 stock/models.py:647 +msgid "Quantity must be integer value for trackable parts" +msgstr "" + +#: part/models.py:4191 part/models.py:4193 +msgid "Sub part must be specified" +msgstr "" + +#: part/models.py:4333 +msgid "BOM Item Substitute" +msgstr "" + +#: part/models.py:4354 +msgid "Substitute part cannot be the same as the master part" +msgstr "" + +#: part/models.py:4367 +msgid "Parent BOM item" +msgstr "" + +#: part/models.py:4375 +msgid "Substitute part" +msgstr "" + +#: part/models.py:4391 +msgid "Part 1" +msgstr "" + +#: part/models.py:4399 +msgid "Part 2" +msgstr "" + +#: part/models.py:4400 +msgid "Select Related Part" +msgstr "" + +#: part/models.py:4419 +msgid "Part relationship cannot be created between a part and itself" +msgstr "" + +#: part/models.py:4424 +msgid "Duplicate relationship already exists" +msgstr "" + +#: part/serializers.py:119 part/serializers.py:141 +#: part/templates/part/category.html:122 part/templates/part/category.html:207 +#: part/templates/part/category_sidebar.html:7 +msgid "Subcategories" +msgstr "" + +#: part/serializers.py:185 +msgid "Results" +msgstr "" + +#: part/serializers.py:186 +msgid "Number of results recorded against this template" +msgstr "" + +#: part/serializers.py:210 part/serializers.py:228 stock/serializers.py:406 +msgid "Purchase currency of this stock item" +msgstr "" + +#: part/serializers.py:273 +msgid "Number of parts using this template" +msgstr "" + +#: part/serializers.py:397 +msgid "No parts selected" +msgstr "" + +#: part/serializers.py:407 +msgid "Select category" +msgstr "" + +#: part/serializers.py:437 +msgid "Original Part" +msgstr "" + +#: part/serializers.py:438 +msgid "Select original part to duplicate" +msgstr "" + +#: part/serializers.py:443 +msgid "Copy Image" +msgstr "" + +#: part/serializers.py:444 +msgid "Copy image from original part" +msgstr "" + +#: part/serializers.py:450 part/templates/part/detail.html:277 +msgid "Copy BOM" +msgstr "" + +#: part/serializers.py:451 +msgid "Copy bill of materials from original part" +msgstr "" + +#: part/serializers.py:457 +msgid "Copy Parameters" +msgstr "" + +#: part/serializers.py:458 +msgid "Copy parameter data from original part" +msgstr "" + +#: part/serializers.py:464 +msgid "Copy Notes" +msgstr "" + +#: part/serializers.py:465 +msgid "Copy notes from original part" +msgstr "" + +#: part/serializers.py:478 +msgid "Initial Stock Quantity" +msgstr "" + +#: part/serializers.py:480 +msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." +msgstr "" + +#: part/serializers.py:487 +msgid "Initial Stock Location" +msgstr "" + +#: part/serializers.py:488 +msgid "Specify initial stock location for this Part" +msgstr "" + +#: part/serializers.py:500 +msgid "Select supplier (or leave blank to skip)" +msgstr "" + +#: part/serializers.py:516 +msgid "Select manufacturer (or leave blank to skip)" +msgstr "" + +#: part/serializers.py:526 +msgid "Manufacturer part number" +msgstr "" + +#: part/serializers.py:533 +msgid "Selected company is not a valid supplier" +msgstr "" + +#: part/serializers.py:542 +msgid "Selected company is not a valid manufacturer" +msgstr "" + +#: part/serializers.py:553 +msgid "Manufacturer part matching this MPN already exists" +msgstr "" + +#: part/serializers.py:560 +msgid "Supplier part matching this SKU already exists" +msgstr "" + +#: part/serializers.py:823 +msgid "External Stock" +msgstr "" + +#: part/serializers.py:825 +msgid "Unallocated Stock" +msgstr "" + +#: part/serializers.py:828 +msgid "Variant Stock" +msgstr "" + +#: part/serializers.py:856 part/templates/part/copy_part.html:9 +#: templates/js/translated/part.js:471 +msgid "Duplicate Part" +msgstr "" + +#: part/serializers.py:857 +msgid "Copy initial data from another Part" +msgstr "" + +#: part/serializers.py:863 templates/js/translated/part.js:102 +msgid "Initial Stock" +msgstr "" + +#: part/serializers.py:864 +msgid "Create Part with initial stock quantity" +msgstr "" + +#: part/serializers.py:870 +msgid "Supplier Information" +msgstr "" + +#: part/serializers.py:871 +msgid "Add initial supplier information for this part" +msgstr "" + +#: part/serializers.py:879 +msgid "Copy Category Parameters" +msgstr "" + +#: part/serializers.py:880 +msgid "Copy parameter templates from selected part category" +msgstr "" + +#: part/serializers.py:885 +msgid "Existing Image" +msgstr "" + +#: part/serializers.py:886 +msgid "Filename of an existing part image" +msgstr "" + +#: part/serializers.py:903 +msgid "Image file does not exist" +msgstr "" + +#: part/serializers.py:1109 +msgid "Limit stocktake report to a particular part, and any variant parts" +msgstr "" + +#: part/serializers.py:1119 +msgid "Limit stocktake report to a particular part category, and any child categories" +msgstr "" + +#: part/serializers.py:1129 +msgid "Limit stocktake report to a particular stock location, and any child locations" +msgstr "" + +#: part/serializers.py:1135 +msgid "Exclude External Stock" +msgstr "" + +#: part/serializers.py:1136 +msgid "Exclude stock items in external locations" +msgstr "" + +#: part/serializers.py:1141 +msgid "Generate Report" +msgstr "" + +#: part/serializers.py:1142 +msgid "Generate report file containing calculated stocktake data" +msgstr "" + +#: part/serializers.py:1147 +msgid "Update Parts" +msgstr "" + +#: part/serializers.py:1148 +msgid "Update specified parts with calculated stocktake data" +msgstr "" + +#: part/serializers.py:1156 +msgid "Stocktake functionality is not enabled" +msgstr "" + +#: part/serializers.py:1262 +msgid "Override calculated value for minimum price" +msgstr "" + +#: part/serializers.py:1269 +msgid "Minimum price currency" +msgstr "" + +#: part/serializers.py:1277 +msgid "Override calculated value for maximum price" +msgstr "" + +#: part/serializers.py:1284 +msgid "Maximum price currency" +msgstr "" + +#: part/serializers.py:1313 +msgid "Update" +msgstr "" + +#: part/serializers.py:1314 +msgid "Update pricing for this part" +msgstr "" + +#: part/serializers.py:1337 +#, python-brace-format +msgid "Could not convert from provided currencies to {default_currency}" +msgstr "" + +#: part/serializers.py:1344 +msgid "Minimum price must not be greater than maximum price" +msgstr "" + +#: part/serializers.py:1347 +msgid "Maximum price must not be less than minimum price" +msgstr "" + +#: part/serializers.py:1714 +msgid "Select part to copy BOM from" +msgstr "" + +#: part/serializers.py:1722 +msgid "Remove Existing Data" +msgstr "" + +#: part/serializers.py:1723 +msgid "Remove existing BOM items before copying" +msgstr "" + +#: part/serializers.py:1728 +msgid "Include Inherited" +msgstr "" + +#: part/serializers.py:1729 +msgid "Include BOM items which are inherited from templated parts" +msgstr "" + +#: part/serializers.py:1734 +msgid "Skip Invalid Rows" +msgstr "" + +#: part/serializers.py:1735 +msgid "Enable this option to skip invalid rows" +msgstr "" + +#: part/serializers.py:1740 +msgid "Copy Substitute Parts" +msgstr "" + +#: part/serializers.py:1741 +msgid "Copy substitute parts when duplicate BOM items" +msgstr "" + +#: part/serializers.py:1775 +msgid "Clear Existing BOM" +msgstr "" + +#: part/serializers.py:1776 +msgid "Delete existing BOM items before uploading" +msgstr "" + +#: part/serializers.py:1806 +msgid "No part column specified" +msgstr "" + +#: part/serializers.py:1850 +msgid "Multiple matching parts found" +msgstr "" + +#: part/serializers.py:1853 +msgid "No matching part found" +msgstr "" + +#: part/serializers.py:1856 +msgid "Part is not designated as a component" +msgstr "" + +#: part/serializers.py:1865 +msgid "Quantity not provided" +msgstr "" + +#: part/serializers.py:1873 +msgid "Invalid quantity" +msgstr "" + +#: part/serializers.py:1894 +msgid "At least one BOM item is required" +msgstr "" + +#: part/stocktake.py:224 templates/js/translated/part.js:1066 +#: templates/js/translated/part.js:1821 templates/js/translated/part.js:1877 +#: templates/js/translated/purchase_order.js:2085 +msgid "Total Quantity" +msgstr "" + +#: part/stocktake.py:225 +msgid "Total Cost Min" +msgstr "" + +#: part/stocktake.py:226 +msgid "Total Cost Max" +msgstr "" + +#: part/stocktake.py:284 +msgid "Stocktake Report Available" +msgstr "" + +#: part/stocktake.py:285 +msgid "A new stocktake report is available for download" +msgstr "" + +#: part/tasks.py:37 +msgid "Low stock notification" +msgstr "" + +#: part/tasks.py:39 +#, python-brace-format +msgid "The available stock for {part.name} has fallen below the configured minimum level" +msgstr "" + +#: part/templates/part/bom.html:6 +msgid "You do not have permission to edit the BOM." +msgstr "" + +#: part/templates/part/bom.html:15 +msgid "The BOM this part has been changed, and must be validated" +msgstr "" + +#: part/templates/part/bom.html:17 +#, python-format +msgid "This BOM was last checked by %(checker)s on %(check_date)s" +msgstr "" + +#: part/templates/part/bom.html:21 +msgid "This BOM has not been validated." +msgstr "" + +#: part/templates/part/category.html:35 +msgid "Perform stocktake for this part category" +msgstr "" + +#: part/templates/part/category.html:41 part/templates/part/category.html:45 +msgid "You are subscribed to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:49 +msgid "Subscribe to notifications for this category" +msgstr "" + +#: part/templates/part/category.html:55 +msgid "Category Actions" +msgstr "" + +#: part/templates/part/category.html:60 +msgid "Edit category" +msgstr "" + +#: part/templates/part/category.html:61 +msgid "Edit Category" +msgstr "" + +#: part/templates/part/category.html:65 +msgid "Delete category" +msgstr "" + +#: part/templates/part/category.html:66 +msgid "Delete Category" +msgstr "" + +#: part/templates/part/category.html:102 +msgid "Top level part category" +msgstr "" + +#: part/templates/part/category.html:127 +msgid "Parts (Including subcategories)" +msgstr "" + +#: part/templates/part/category.html:165 +msgid "Create new part" +msgstr "" + +#: part/templates/part/category.html:166 templates/js/translated/bom.js:444 +msgid "New Part" +msgstr "" + +#: part/templates/part/category.html:192 +#: templates/InvenTree/settings/part_parameters.html:7 +#: templates/InvenTree/settings/sidebar.html:49 +msgid "Part Parameters" +msgstr "" + +#: part/templates/part/category.html:211 +msgid "Create new part category" +msgstr "" + +#: part/templates/part/category.html:212 +msgid "New Category" +msgstr "" + +#: part/templates/part/category_sidebar.html:13 +msgid "Import Parts" +msgstr "" + +#: part/templates/part/copy_part.html:10 +#, python-format +msgid "Make a copy of part '%(full_name)s'." +msgstr "" + +#: part/templates/part/copy_part.html:14 +#: part/templates/part/create_part.html:11 +msgid "Possible Matching Parts" +msgstr "" + +#: part/templates/part/copy_part.html:15 +#: part/templates/part/create_part.html:12 +msgid "The new part may be a duplicate of these existing parts" +msgstr "" + +#: part/templates/part/create_part.html:17 +#, python-format +msgid "%(full_name)s - %(desc)s (%(match_per)s%% match)" +msgstr "" + +#: part/templates/part/detail.html:20 +msgid "Part Stock" +msgstr "" + +#: part/templates/part/detail.html:44 +msgid "Refresh scheduling data" +msgstr "" + +#: part/templates/part/detail.html:45 part/templates/part/prices.html:15 +#: templates/js/translated/tables.js:552 +msgid "Refresh" +msgstr "" + +#: part/templates/part/detail.html:66 +msgid "Add stocktake information" +msgstr "" + +#: part/templates/part/detail.html:67 part/templates/part/part_sidebar.html:50 +#: stock/admin.py:251 templates/InvenTree/settings/part_stocktake.html:30 +#: templates/InvenTree/settings/sidebar.html:53 +#: templates/js/translated/stock.js:2215 users/models.py:204 +msgid "Stocktake" +msgstr "" + +#: part/templates/part/detail.html:83 +msgid "Part Test Templates" +msgstr "" + +#: part/templates/part/detail.html:88 +msgid "Add Test Template" +msgstr "" + +#: part/templates/part/detail.html:139 stock/templates/stock/item.html:49 +msgid "Sales Order Allocations" +msgstr "" + +#: part/templates/part/detail.html:156 +msgid "Part Notes" +msgstr "" + +#: part/templates/part/detail.html:171 +msgid "Part Variants" +msgstr "" + +#: part/templates/part/detail.html:175 +msgid "Create new variant" +msgstr "" + +#: part/templates/part/detail.html:176 +msgid "New Variant" +msgstr "" + +#: part/templates/part/detail.html:199 +msgid "Add new parameter" +msgstr "" + +#: part/templates/part/detail.html:232 part/templates/part/part_sidebar.html:58 +msgid "Related Parts" +msgstr "" + +#: part/templates/part/detail.html:236 part/templates/part/detail.html:237 +msgid "Add Related" +msgstr "" + +#: part/templates/part/detail.html:255 part/templates/part/part_sidebar.html:17 +#: report/templates/report/inventree_bill_of_materials_report.html:100 +msgid "Bill of Materials" +msgstr "" + +#: part/templates/part/detail.html:260 +msgid "Export actions" +msgstr "" + +#: part/templates/part/detail.html:264 templates/js/translated/bom.js:340 +msgid "Export BOM" +msgstr "" + +#: part/templates/part/detail.html:266 +msgid "Print BOM Report" +msgstr "" + +#: part/templates/part/detail.html:272 +msgid "BOM actions" +msgstr "" + +#: part/templates/part/detail.html:276 +msgid "Upload BOM" +msgstr "" + +#: part/templates/part/detail.html:278 +msgid "Validate BOM" +msgstr "" + +#: part/templates/part/detail.html:283 part/templates/part/detail.html:284 +#: templates/js/translated/bom.js:1320 templates/js/translated/bom.js:1321 +msgid "Add BOM Item" +msgstr "" + +#: part/templates/part/detail.html:297 +msgid "Assemblies" +msgstr "" + +#: part/templates/part/detail.html:313 +msgid "Part Builds" +msgstr "" + +#: part/templates/part/detail.html:338 stock/templates/stock/item.html:36 +msgid "Build Order Allocations" +msgstr "" + +#: part/templates/part/detail.html:352 +msgid "Part Suppliers" +msgstr "" + +#: part/templates/part/detail.html:372 +msgid "Part Manufacturers" +msgstr "" + +#: part/templates/part/detail.html:659 +msgid "Related Part" +msgstr "" + +#: part/templates/part/detail.html:667 +msgid "Add Related Part" +msgstr "" + +#: part/templates/part/detail.html:752 +msgid "Add Test Result Template" +msgstr "" + +#: part/templates/part/import_wizard/ajax_part_upload.html:29 +#: part/templates/part/import_wizard/part_upload.html:14 +msgid "Insufficient privileges." +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:8 +msgid "Return to Parts" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:13 +msgid "Import Parts from File" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:31 +msgid "Requirements for part import" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:33 +msgid "The part import file must contain the required named columns as provided in the " +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:33 +msgid "Part Import Template" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:89 +msgid "Download Part Import Template" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:92 +#: templates/js/translated/bom.js:309 templates/js/translated/bom.js:343 +#: templates/js/translated/order.js:129 templates/js/translated/tables.js:189 +msgid "Format" +msgstr "" + +#: part/templates/part/import_wizard/part_upload.html:93 +#: templates/js/translated/bom.js:310 templates/js/translated/bom.js:344 +#: templates/js/translated/order.js:130 +msgid "Select file format" +msgstr "" + +#: part/templates/part/part_app_base.html:12 +msgid "Part List" +msgstr "" + +#: part/templates/part/part_base.html:25 part/templates/part/part_base.html:29 +msgid "You are subscribed to notifications for this part" +msgstr "" + +#: part/templates/part/part_base.html:33 +msgid "Subscribe to notifications for this part" +msgstr "" + +#: part/templates/part/part_base.html:52 +#: stock/templates/stock/item_base.html:62 +#: stock/templates/stock/location.html:74 +msgid "Print Label" +msgstr "" + +#: part/templates/part/part_base.html:58 +msgid "Show pricing information" +msgstr "" + +#: part/templates/part/part_base.html:63 +#: stock/templates/stock/item_base.html:110 +#: stock/templates/stock/location.html:83 +msgid "Stock actions" +msgstr "" + +#: part/templates/part/part_base.html:70 +msgid "Count part stock" +msgstr "" + +#: part/templates/part/part_base.html:76 +msgid "Transfer part stock" +msgstr "" + +#: part/templates/part/part_base.html:91 templates/js/translated/part.js:2293 +msgid "Part actions" +msgstr "" + +#: part/templates/part/part_base.html:94 +msgid "Duplicate part" +msgstr "" + +#: part/templates/part/part_base.html:97 +msgid "Edit part" +msgstr "" + +#: part/templates/part/part_base.html:100 +msgid "Delete part" +msgstr "" + +#: part/templates/part/part_base.html:119 +msgid "Part is a template part (variants can be made from this part)" +msgstr "" + +#: part/templates/part/part_base.html:123 +msgid "Part can be assembled from other parts" +msgstr "" + +#: part/templates/part/part_base.html:127 +msgid "Part can be used in assemblies" +msgstr "" + +#: part/templates/part/part_base.html:131 +msgid "Part stock is tracked by serial number" +msgstr "" + +#: part/templates/part/part_base.html:135 +msgid "Part can be purchased from external suppliers" +msgstr "" + +#: part/templates/part/part_base.html:139 +msgid "Part can be sold to customers" +msgstr "" + +#: part/templates/part/part_base.html:145 +msgid "Part is not active" +msgstr "" + +#: part/templates/part/part_base.html:153 +msgid "Part is virtual (not a physical part)" +msgstr "" + +#: part/templates/part/part_base.html:163 +#: part/templates/part/part_base.html:682 +msgid "Show Part Details" +msgstr "" + +#: part/templates/part/part_base.html:218 +#: stock/templates/stock/item_base.html:388 +msgid "Allocated to Build Orders" +msgstr "" + +#: part/templates/part/part_base.html:227 +#: stock/templates/stock/item_base.html:381 +msgid "Allocated to Sales Orders" +msgstr "" + +#: part/templates/part/part_base.html:235 templates/js/translated/bom.js:1219 +msgid "Can Build" +msgstr "" + +#: part/templates/part/part_base.html:291 +msgid "Minimum stock level" +msgstr "" + +#: part/templates/part/part_base.html:322 templates/js/translated/bom.js:1071 +#: templates/js/translated/part.js:1264 templates/js/translated/part.js:2444 +#: templates/js/translated/pricing.js:391 +#: templates/js/translated/pricing.js:1054 +msgid "Price Range" +msgstr "" + +#: part/templates/part/part_base.html:352 +msgid "Latest Serial Number" +msgstr "" + +#: part/templates/part/part_base.html:356 +#: stock/templates/stock/item_base.html:322 +msgid "Search for serial number" +msgstr "" + +#: part/templates/part/part_base.html:444 +msgid "Part QR Code" +msgstr "" + +#: part/templates/part/part_base.html:461 +msgid "Link Barcode to Part" +msgstr "" + +#: part/templates/part/part_base.html:512 +msgid "Calculate" +msgstr "" + +#: part/templates/part/part_base.html:529 +msgid "Remove associated image from this part" +msgstr "" + +#: part/templates/part/part_base.html:580 +msgid "No matching images found" +msgstr "" + +#: part/templates/part/part_base.html:676 +msgid "Hide Part Details" +msgstr "" + +#: part/templates/part/part_pricing.html:22 part/templates/part/prices.html:76 +#: part/templates/part/prices.html:227 templates/js/translated/pricing.js:485 +msgid "Supplier Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:26 +#: part/templates/part/part_pricing.html:52 +#: part/templates/part/part_pricing.html:95 +#: part/templates/part/part_pricing.html:110 +msgid "Unit Cost" +msgstr "" + +#: part/templates/part/part_pricing.html:40 +msgid "No supplier pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:48 part/templates/part/prices.html:90 +#: part/templates/part/prices.html:250 +msgid "BOM Pricing" +msgstr "" + +#: part/templates/part/part_pricing.html:66 +msgid "Unit Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:72 +msgid "Total Purchase Price" +msgstr "" + +#: part/templates/part/part_pricing.html:83 +msgid "No BOM pricing available" +msgstr "" + +#: part/templates/part/part_pricing.html:92 +msgid "Internal Price" +msgstr "" + +#: part/templates/part/part_pricing.html:123 +msgid "No pricing information is available for this part." +msgstr "" + +#: part/templates/part/part_scheduling.html:14 +msgid "Scheduled Quantity" +msgstr "" + +#: part/templates/part/part_sidebar.html:11 +msgid "Variants" +msgstr "" + +#: part/templates/part/part_sidebar.html:14 +#: stock/templates/stock/loc_link.html:3 stock/templates/stock/location.html:24 +#: stock/templates/stock/stock_app_base.html:10 +#: templates/InvenTree/search.html:153 +#: templates/InvenTree/settings/sidebar.html:51 +#: templates/js/translated/part.js:1242 templates/js/translated/part.js:2145 +#: templates/js/translated/part.js:2392 templates/js/translated/stock.js:1059 +#: templates/js/translated/stock.js:2069 templates/navbar.html:31 +msgid "Stock" +msgstr "" + +#: part/templates/part/part_sidebar.html:30 +#: templates/InvenTree/settings/sidebar.html:39 +msgid "Pricing" +msgstr "" + +#: part/templates/part/part_sidebar.html:44 +msgid "Scheduling" +msgstr "" + +#: part/templates/part/part_sidebar.html:54 +msgid "Test Templates" +msgstr "" + +#: part/templates/part/part_thumb.html:11 +msgid "Select from existing images" +msgstr "" + +#: part/templates/part/prices.html:11 +msgid "Pricing Overview" +msgstr "" + +#: part/templates/part/prices.html:14 +msgid "Refresh Part Pricing" +msgstr "" + +#: part/templates/part/prices.html:17 +msgid "Override Part Pricing" +msgstr "" + +#: part/templates/part/prices.html:18 +#: templates/InvenTree/settings/settings_staff_js.html:80 +#: templates/InvenTree/settings/user.html:24 +#: templates/js/translated/helpers.js:100 +#: templates/js/translated/pricing.js:628 templates/notes_buttons.html:3 +#: templates/notes_buttons.html:4 +msgid "Edit" +msgstr "" + +#: part/templates/part/prices.html:28 stock/admin.py:247 +#: stock/templates/stock/item_base.html:446 +#: templates/js/translated/company.js:1703 +#: templates/js/translated/company.js:1713 +#: templates/js/translated/stock.js:2245 +msgid "Last Updated" +msgstr "" + +#: part/templates/part/prices.html:37 part/templates/part/prices.html:127 +msgid "Price Category" +msgstr "" + +#: part/templates/part/prices.html:38 part/templates/part/prices.html:128 +msgid "Minimum" +msgstr "" + +#: part/templates/part/prices.html:39 part/templates/part/prices.html:129 +msgid "Maximum" +msgstr "" + +#: part/templates/part/prices.html:51 part/templates/part/prices.html:174 +msgid "Internal Pricing" +msgstr "" + +#: part/templates/part/prices.html:64 part/templates/part/prices.html:206 +msgid "Purchase History" +msgstr "" + +#: part/templates/part/prices.html:98 part/templates/part/prices.html:274 +msgid "Variant Pricing" +msgstr "" + +#: part/templates/part/prices.html:106 +msgid "Pricing Overrides" +msgstr "" + +#: part/templates/part/prices.html:113 +msgid "Overall Pricing" +msgstr "" + +#: part/templates/part/prices.html:149 part/templates/part/prices.html:326 +msgid "Sale History" +msgstr "" + +#: part/templates/part/prices.html:157 +msgid "Sale price data is not available for this part" +msgstr "" + +#: part/templates/part/prices.html:164 +msgid "Price range data is not available for this part." +msgstr "" + +#: part/templates/part/prices.html:175 part/templates/part/prices.html:207 +#: part/templates/part/prices.html:228 part/templates/part/prices.html:251 +#: part/templates/part/prices.html:275 part/templates/part/prices.html:298 +#: part/templates/part/prices.html:327 +msgid "Jump to overview" +msgstr "" + +#: part/templates/part/prices.html:180 +msgid "Add Internal Price Break" +msgstr "" + +#: part/templates/part/prices.html:297 +msgid "Sale Pricing" +msgstr "" + +#: part/templates/part/prices.html:303 +msgid "Add Sell Price Break" +msgstr "" + +#: part/templates/part/pricing_javascript.html:24 +msgid "Update Pricing" +msgstr "" + +#: part/templates/part/stock_count.html:7 +#: templates/js/translated/model_renderers.js:221 +#: templates/js/translated/part.js:704 templates/js/translated/part.js:2140 +#: templates/js/translated/part.js:2142 +msgid "No Stock" +msgstr "" + +#: part/templates/part/stock_count.html:9 templates/InvenTree/index.html:120 +msgid "Low Stock" +msgstr "" + +#: part/templates/part/upload_bom.html:8 +msgid "Return to BOM" +msgstr "" + +#: part/templates/part/upload_bom.html:13 +msgid "Upload Bill of Materials" +msgstr "" + +#: part/templates/part/upload_bom.html:19 +msgid "BOM upload requirements" +msgstr "" + +#: part/templates/part/upload_bom.html:23 +#: part/templates/part/upload_bom.html:90 +msgid "Upload BOM File" +msgstr "" + +#: part/templates/part/upload_bom.html:29 +msgid "Submit BOM Data" +msgstr "" + +#: part/templates/part/upload_bom.html:37 +msgid "Requirements for BOM upload" +msgstr "" + +#: part/templates/part/upload_bom.html:39 +msgid "The BOM file must contain the required named columns as provided in the " +msgstr "" + +#: part/templates/part/upload_bom.html:39 +msgid "BOM Upload Template" +msgstr "" + +#: part/templates/part/upload_bom.html:40 +msgid "Each part must already exist in the database" +msgstr "" + +#: part/templates/part/variant_part.html:9 +msgid "Create new part variant" +msgstr "" + +#: part/templates/part/variant_part.html:10 +msgid "Create a new variant part from this template" +msgstr "" + +#: part/views.py:111 +msgid "Match References" +msgstr "" + +#: part/views.py:275 +#, python-brace-format +msgid "Can't import part {new_part.name} because there is no category assigned" +msgstr "" + +#: part/views.py:425 +msgid "Select Part Image" +msgstr "" + +#: part/views.py:448 +msgid "Updated part image" +msgstr "" + +#: part/views.py:451 +msgid "Part image not found" +msgstr "" + +#: part/views.py:545 +msgid "Part Pricing" +msgstr "" + +#: plugin/api.py:168 +msgid "Plugin cannot be deleted as it is currently active" +msgstr "" + +#: plugin/base/action/api.py:32 +msgid "No action specified" +msgstr "" + +#: plugin/base/action/api.py:41 +msgid "No matching action found" +msgstr "" + +#: plugin/base/barcodes/api.py:124 plugin/base/barcodes/api.py:328 +#: plugin/base/barcodes/api.py:503 +msgid "No match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:128 +msgid "Match found for barcode data" +msgstr "" + +#: plugin/base/barcodes/api.py:154 +#: templates/js/translated/purchase_order.js:1406 +msgid "Barcode matches existing item" +msgstr "" + +#: plugin/base/barcodes/api.py:293 +msgid "No matching part data found" +msgstr "" + +#: plugin/base/barcodes/api.py:310 +msgid "No matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:314 +msgid "Multiple matching supplier parts found" +msgstr "" + +#: plugin/base/barcodes/api.py:338 +msgid "Matched supplier part" +msgstr "" + +#: plugin/base/barcodes/api.py:387 +msgid "Item has already been received" +msgstr "" + +#: plugin/base/barcodes/api.py:424 +msgid "No match for supplier barcode" +msgstr "" + +#: plugin/base/barcodes/api.py:467 +msgid "Multiple matching line items found" +msgstr "" + +#: plugin/base/barcodes/api.py:470 +msgid "No matching line item found" +msgstr "" + +#: plugin/base/barcodes/api.py:508 plugin/base/barcodes/api.py:515 +msgid "Barcode does not match an existing stock item" +msgstr "" + +#: plugin/base/barcodes/api.py:526 +msgid "Stock item does not match line item" +msgstr "" + +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 +#: templates/js/translated/sales_order.js:1917 +msgid "Insufficient stock available" +msgstr "" + +#: plugin/base/barcodes/api.py:559 +msgid "Stock item allocated to sales order" +msgstr "" + +#: plugin/base/barcodes/api.py:563 +msgid "Not enough information" +msgstr "" + +#: plugin/base/barcodes/mixins.py:147 plugin/base/barcodes/mixins.py:179 +msgid "Found multiple matching supplier parts for barcode" +msgstr "" + +#: plugin/base/barcodes/mixins.py:197 +#, python-brace-format +msgid "Found multiple purchase orders matching '{order}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:201 +#, python-brace-format +msgid "No matching purchase order for '{order}'" +msgstr "" + +#: plugin/base/barcodes/mixins.py:206 +msgid "Purchase order does not match supplier" +msgstr "" + +#: plugin/base/barcodes/mixins.py:440 +msgid "Failed to find pending line item for supplier part" +msgstr "" + +#: plugin/base/barcodes/mixins.py:471 +msgid "Further information required to receive line item" +msgstr "" + +#: plugin/base/barcodes/mixins.py:479 +msgid "Received purchase order line item" +msgstr "" + +#: plugin/base/barcodes/serializers.py:21 +msgid "Scanned barcode data" +msgstr "" + +#: plugin/base/barcodes/serializers.py:81 +msgid "Purchase Order to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:87 +msgid "Purchase order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:105 +msgid "PurchaseOrder to receive items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:111 +msgid "Purchase order has not been placed" +msgstr "" + +#: plugin/base/barcodes/serializers.py:119 +msgid "Location to receive items into" +msgstr "" + +#: plugin/base/barcodes/serializers.py:125 +msgid "Cannot select a structural location" +msgstr "" + +#: plugin/base/barcodes/serializers.py:139 +msgid "Sales Order to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:145 +msgid "Sales order is not pending" +msgstr "" + +#: plugin/base/barcodes/serializers.py:153 +msgid "Sales order line item to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:160 +msgid "Sales order shipment to allocate items against" +msgstr "" + +#: plugin/base/barcodes/serializers.py:166 +msgid "Shipment has already been delivered" +msgstr "" + +#: plugin/base/barcodes/serializers.py:171 +msgid "Quantity to allocate" +msgstr "" + +#: plugin/base/label/label.py:39 +msgid "Label printing failed" +msgstr "" + +#: plugin/base/label/mixins.py:63 +msgid "Error rendering label to PDF" +msgstr "" + +#: plugin/base/label/mixins.py:76 +msgid "Error rendering label to HTML" +msgstr "" + +#: plugin/base/label/mixins.py:111 +msgid "Error rendering label to PNG" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:25 +msgid "InvenTree Barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:26 +msgid "Provides native support for barcodes" +msgstr "" + +#: plugin/builtin/barcodes/inventree_barcode.py:28 +#: plugin/builtin/integration/core_notifications.py:35 +#: plugin/builtin/integration/currency_exchange.py:21 +#: plugin/builtin/labels/inventree_label.py:23 +#: plugin/builtin/labels/inventree_machine.py:64 +#: plugin/builtin/labels/label_sheet.py:63 +#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 +#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +msgid "InvenTree contributors" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:34 +msgid "InvenTree Notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:36 +msgid "Integrated outgoing notification methods" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:41 +#: plugin/builtin/integration/core_notifications.py:80 +msgid "Enable email notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:42 +#: plugin/builtin/integration/core_notifications.py:81 +msgid "Allow sending of emails for event notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:47 +msgid "Enable slack notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:49 +msgid "Allow sending of slack channel messages for event notifications" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:55 +msgid "Slack incoming webhook url" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:56 +msgid "URL that is used to send messages to a slack channel" +msgstr "" + +#: plugin/builtin/integration/core_notifications.py:164 +msgid "Open link" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:22 +msgid "InvenTree Currency Exchange" +msgstr "" + +#: plugin/builtin/integration/currency_exchange.py:23 +msgid "Default currency exchange integration" +msgstr "" + +#: plugin/builtin/labels/inventree_label.py:20 +msgid "InvenTree PDF label printer" +msgstr "" + +#: plugin/builtin/labels/inventree_label.py:21 +msgid "Provides native support for printing PDF labels" +msgstr "" + +#: plugin/builtin/labels/inventree_label.py:29 +msgid "Debug mode" +msgstr "" + +#: plugin/builtin/labels/inventree_label.py:30 +msgid "Enable debug mode - returns raw HTML instead of PDF" +msgstr "" + +#: plugin/builtin/labels/inventree_machine.py:61 +msgid "InvenTree machine label printer" +msgstr "" + +#: plugin/builtin/labels/inventree_machine.py:62 +msgid "Provides support for printing using a machine" +msgstr "" + +#: plugin/builtin/labels/inventree_machine.py:150 +msgid "last used" +msgstr "" + +#: plugin/builtin/labels/inventree_machine.py:167 +msgid "Options" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:29 +msgid "Page size for the label sheet" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:34 +msgid "Skip Labels" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:35 +msgid "Skip this number of labels when printing label sheets" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:41 +msgid "Border" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:42 +msgid "Print a border around each label" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:47 report/models.py:209 +msgid "Landscape" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:48 +msgid "Print the label sheet in landscape mode" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:60 +msgid "InvenTree Label Sheet Printer" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:61 +msgid "Arrays multiple labels onto a single sheet" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:94 +msgid "Label is too large for page size" +msgstr "" + +#: plugin/builtin/labels/label_sheet.py:128 +msgid "No labels were generated" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:16 +msgid "Supplier Integration - DigiKey" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:17 +msgid "Provides support for scanning DigiKey barcodes" +msgstr "" + +#: plugin/builtin/suppliers/digikey.py:26 +msgid "The Supplier which acts as 'DigiKey'" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:18 +msgid "Supplier Integration - LCSC" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:19 +msgid "Provides support for scanning LCSC barcodes" +msgstr "" + +#: plugin/builtin/suppliers/lcsc.py:27 +msgid "The Supplier which acts as 'LCSC'" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:16 +msgid "Supplier Integration - Mouser" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:17 +msgid "Provides support for scanning Mouser barcodes" +msgstr "" + +#: plugin/builtin/suppliers/mouser.py:25 +msgid "The Supplier which acts as 'Mouser'" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:18 +msgid "Supplier Integration - TME" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:19 +msgid "Provides support for scanning TME barcodes" +msgstr "" + +#: plugin/builtin/suppliers/tme.py:27 +msgid "The Supplier which acts as 'TME'" +msgstr "" + +#: plugin/installer.py:194 plugin/installer.py:282 +msgid "Only staff users can administer plugins" +msgstr "" + +#: plugin/installer.py:197 +msgid "Plugin installation is disabled" +msgstr "" + +#: plugin/installer.py:248 +msgid "Installed plugin successfully" +msgstr "" + +#: plugin/installer.py:254 +#, python-brace-format +msgid "Installed plugin into {path}" +msgstr "" + +#: plugin/installer.py:273 +msgid "Plugin was not found in registry" +msgstr "" + +#: plugin/installer.py:276 +msgid "Plugin is not a packaged plugin" +msgstr "" + +#: plugin/installer.py:279 +msgid "Plugin package name not found" +msgstr "" + +#: plugin/installer.py:299 +msgid "Plugin uninstalling is disabled" +msgstr "" + +#: plugin/installer.py:303 +msgid "Plugin cannot be uninstalled as it is currently active" +msgstr "" + +#: plugin/installer.py:316 +msgid "Uninstalled plugin successfully" +msgstr "" + +#: plugin/models.py:30 +msgid "Plugin Configuration" +msgstr "" + +#: plugin/models.py:31 +msgid "Plugin Configurations" +msgstr "" + +#: plugin/models.py:34 users/models.py:100 +msgid "Key" +msgstr "" + +#: plugin/models.py:34 +msgid "Key of plugin" +msgstr "" + +#: plugin/models.py:42 +msgid "PluginName of the plugin" +msgstr "" + +#: plugin/models.py:49 plugin/serializers.py:90 +msgid "Package Name" +msgstr "" + +#: plugin/models.py:51 +msgid "Name of the installed package, if the plugin was installed via PIP" +msgstr "" + +#: plugin/models.py:56 +msgid "Is the plugin active" +msgstr "" + +#: plugin/models.py:147 templates/js/translated/table_filters.js:370 +#: templates/js/translated/table_filters.js:504 +msgid "Installed" +msgstr "" + +#: plugin/models.py:156 +msgid "Sample plugin" +msgstr "" + +#: plugin/models.py:164 +msgid "Builtin Plugin" +msgstr "" + +#: plugin/models.py:172 +msgid "Package Plugin" +msgstr "" + +#: plugin/models.py:196 templates/InvenTree/settings/plugin_settings.html:9 +#: templates/js/translated/plugin.js:51 +msgid "Plugin" +msgstr "" + +#: plugin/models.py:243 +msgid "Method" +msgstr "" + +#: plugin/plugin.py:270 +msgid "No author found" +msgstr "" + +#: plugin/registry.py:588 +#, python-brace-format +msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" +msgstr "" + +#: plugin/registry.py:591 +#, python-brace-format +msgid "Plugin requires at least version {v}" +msgstr "" + +#: plugin/registry.py:593 +#, python-brace-format +msgid "Plugin requires at most version {v}" +msgstr "" + +#: plugin/samples/integration/sample.py:52 +msgid "Enable PO" +msgstr "" + +#: plugin/samples/integration/sample.py:53 +msgid "Enable PO functionality in InvenTree interface" +msgstr "" + +#: plugin/samples/integration/sample.py:58 +msgid "API Key" +msgstr "" + +#: plugin/samples/integration/sample.py:59 +msgid "Key required for accessing external API" +msgstr "" + +#: plugin/samples/integration/sample.py:63 +msgid "Numerical" +msgstr "" + +#: plugin/samples/integration/sample.py:64 +msgid "A numerical setting" +msgstr "" + +#: plugin/samples/integration/sample.py:69 +msgid "Choice Setting" +msgstr "" + +#: plugin/samples/integration/sample.py:70 +msgid "A setting with multiple choices" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:15 +msgid "Sample currency exchange plugin" +msgstr "" + +#: plugin/samples/integration/sample_currency_exchange.py:18 +msgid "InvenTree Contributors" +msgstr "" + +#: plugin/serializers.py:81 +msgid "Source URL" +msgstr "" + +#: plugin/serializers.py:83 +msgid "Source for the package - this can be a custom registry or a VCS path" +msgstr "" + +#: plugin/serializers.py:92 +msgid "Name for the Plugin Package - can also contain a version indicator" +msgstr "" + +#: plugin/serializers.py:99 +#: templates/InvenTree/settings/plugin_settings.html:42 +#: templates/js/translated/plugin.js:86 +msgid "Version" +msgstr "" + +#: plugin/serializers.py:101 +msgid "Version specifier for the plugin. Leave blank for latest version." +msgstr "" + +#: plugin/serializers.py:106 +msgid "Confirm plugin installation" +msgstr "" + +#: plugin/serializers.py:108 +msgid "This will install this plugin now into the current instance. The instance will go into maintenance." +msgstr "" + +#: plugin/serializers.py:121 +msgid "Installation not confirmed" +msgstr "" + +#: plugin/serializers.py:123 +msgid "Either packagename of URL must be provided" +msgstr "" + +#: plugin/serializers.py:156 +msgid "Full reload" +msgstr "" + +#: plugin/serializers.py:157 +msgid "Perform a full reload of the plugin registry" +msgstr "" + +#: plugin/serializers.py:163 +msgid "Force reload" +msgstr "" + +#: plugin/serializers.py:165 +msgid "Force a reload of the plugin registry, even if it is already loaded" +msgstr "" + +#: plugin/serializers.py:172 +msgid "Collect plugins" +msgstr "" + +#: plugin/serializers.py:173 +msgid "Collect plugins and add them to the registry" +msgstr "" + +#: plugin/serializers.py:195 +msgid "Activate Plugin" +msgstr "" + +#: plugin/serializers.py:196 +msgid "Activate this plugin" +msgstr "" + +#: plugin/serializers.py:219 +msgid "Delete configuration" +msgstr "" + +#: plugin/serializers.py:220 +msgid "Delete the plugin configuration from the database" +msgstr "" + +#: report/api.py:158 +msgid "No valid objects provided to template" +msgstr "" + +#: report/api.py:197 report/api.py:234 +#, python-brace-format +msgid "Template file '{template}' is missing or does not exist" +msgstr "" + +#: report/api.py:319 +msgid "Test report" +msgstr "" + +#: report/helpers.py:15 +msgid "A4" +msgstr "" + +#: report/helpers.py:16 +msgid "A3" +msgstr "" + +#: report/helpers.py:17 +msgid "Legal" +msgstr "" + +#: report/helpers.py:18 +msgid "Letter" +msgstr "" + +#: report/models.py:177 +msgid "Template name" +msgstr "" + +#: report/models.py:183 +msgid "Report template file" +msgstr "" + +#: report/models.py:190 +msgid "Report template description" +msgstr "" + +#: report/models.py:196 +msgid "Report revision number (auto-increments)" +msgstr "" + +#: report/models.py:204 +msgid "Page size for PDF reports" +msgstr "" + +#: report/models.py:210 +msgid "Render report in landscape orientation" +msgstr "" + +#: report/models.py:318 +msgid "Pattern for generating report filenames" +msgstr "" + +#: report/models.py:325 +msgid "Report template is enabled" +msgstr "" + +#: report/models.py:347 +msgid "StockItem query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/models.py:354 +msgid "Include Installed Tests" +msgstr "" + +#: report/models.py:356 +msgid "Include test results for stock items installed inside assembled item" +msgstr "" + +#: report/models.py:424 +msgid "Build Filters" +msgstr "" + +#: report/models.py:425 +msgid "Build query filters (comma-separated list of key=value pairs" +msgstr "" + +#: report/models.py:464 +msgid "Part Filters" +msgstr "" + +#: report/models.py:465 +msgid "Part query filters (comma-separated list of key=value pairs" +msgstr "" + +#: report/models.py:497 +msgid "Purchase order query filters" +msgstr "" + +#: report/models.py:533 +msgid "Sales order query filters" +msgstr "" + +#: report/models.py:569 +msgid "Return order query filters" +msgstr "" + +#: report/models.py:641 +msgid "Snippet file with this name already exists" +msgstr "" + +#: report/models.py:648 +msgid "Snippet" +msgstr "" + +#: report/models.py:649 +msgid "Report snippet file" +msgstr "" + +#: report/models.py:656 +msgid "Snippet file description" +msgstr "" + +#: report/models.py:714 +msgid "Asset file with this name already exists" +msgstr "" + +#: report/models.py:722 +msgid "Asset" +msgstr "" + +#: report/models.py:723 +msgid "Report asset file" +msgstr "" + +#: report/models.py:730 +msgid "Asset file description" +msgstr "" + +#: report/models.py:752 +msgid "stock location query filters (comma-separated list of key=value pairs)" +msgstr "" + +#: report/templates/report/inventree_bill_of_materials_report.html:133 +msgid "Materials needed" +msgstr "" + +#: report/templates/report/inventree_build_order_base.html:146 +msgid "Required For" +msgstr "" + +#: report/templates/report/inventree_po_report_base.html:15 +msgid "Supplier was deleted" +msgstr "" + +#: report/templates/report/inventree_po_report_base.html:30 +#: report/templates/report/inventree_so_report_base.html:30 +#: templates/js/translated/order.js:316 templates/js/translated/pricing.js:527 +#: templates/js/translated/pricing.js:596 +#: templates/js/translated/pricing.js:834 +#: templates/js/translated/purchase_order.js:2116 +#: templates/js/translated/sales_order.js:1837 +msgid "Unit Price" +msgstr "" + +#: report/templates/report/inventree_po_report_base.html:55 +#: report/templates/report/inventree_return_order_report_base.html:48 +#: report/templates/report/inventree_so_report_base.html:55 +msgid "Extra Line Items" +msgstr "" + +#: report/templates/report/inventree_po_report_base.html:72 +#: report/templates/report/inventree_so_report_base.html:72 +#: templates/js/translated/purchase_order.js:2018 +#: templates/js/translated/sales_order.js:1806 +msgid "Total" +msgstr "" + +#: report/templates/report/inventree_return_order_report_base.html:25 +#: report/templates/report/inventree_test_report_base.html:88 +#: stock/models.py:809 stock/templates/stock/item_base.html:311 +#: templates/js/translated/build.js:519 templates/js/translated/build.js:1364 +#: templates/js/translated/build.js:2353 +#: templates/js/translated/model_renderers.js:224 +#: templates/js/translated/return_order.js:540 +#: templates/js/translated/return_order.js:724 +#: templates/js/translated/sales_order.js:315 +#: templates/js/translated/sales_order.js:1611 +#: templates/js/translated/sales_order.js:1696 +#: templates/js/translated/stock.js:596 +msgid "Serial Number" +msgstr "" + +#: report/templates/report/inventree_slr_report.html:97 +msgid "Stock location items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:21 +msgid "Stock Item Test Report" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:97 +msgid "Test Results" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:102 +#: templates/js/translated/stock.js:1492 +msgid "Test" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:103 +#: stock/models.py:2430 +msgid "Result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:130 +msgid "Pass" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:132 +msgid "Fail" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:139 +msgid "No result (required)" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:141 +msgid "No result" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:154 +#: stock/templates/stock/stock_sidebar.html:16 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_test_report_base.html:168 +#: stock/admin.py:162 templates/js/translated/stock.js:700 +#: templates/js/translated/stock.js:871 templates/js/translated/stock.js:3110 +msgid "Serial" +msgstr "" + +#: report/templatetags/report.py:96 +msgid "Asset file does not exist" +msgstr "" + +#: report/templatetags/report.py:152 report/templatetags/report.py:217 +msgid "Image file not found" +msgstr "" + +#: report/templatetags/report.py:242 +msgid "part_image tag requires a Part instance" +msgstr "" + +#: report/templatetags/report.py:283 +msgid "company_image tag requires a Company instance" +msgstr "" + +#: stock/admin.py:52 stock/admin.py:172 +msgid "Location ID" +msgstr "" + +#: stock/admin.py:54 stock/admin.py:176 +msgid "Location Name" +msgstr "" + +#: stock/admin.py:64 stock/templates/stock/location.html:131 +#: stock/templates/stock/location.html:137 +msgid "Location Path" +msgstr "" + +#: stock/admin.py:149 +msgid "Stock Item ID" +msgstr "" + +#: stock/admin.py:168 +msgid "Status Code" +msgstr "" + +#: stock/admin.py:180 +msgid "Supplier Part ID" +msgstr "" + +#: stock/admin.py:185 +msgid "Supplier ID" +msgstr "" + +#: stock/admin.py:191 +msgid "Supplier Name" +msgstr "" + +#: stock/admin.py:196 +msgid "Customer ID" +msgstr "" + +#: stock/admin.py:201 stock/models.py:789 +#: stock/templates/stock/item_base.html:354 +msgid "Installed In" +msgstr "" + +#: stock/admin.py:206 +msgid "Build ID" +msgstr "" + +#: stock/admin.py:216 +msgid "Sales Order ID" +msgstr "" + +#: stock/admin.py:221 +msgid "Purchase Order ID" +msgstr "" + +#: stock/admin.py:236 +msgid "Review Needed" +msgstr "" + +#: stock/admin.py:241 +msgid "Delete on Deplete" +msgstr "" + +#: stock/admin.py:256 stock/models.py:883 +#: stock/templates/stock/item_base.html:433 +#: templates/js/translated/stock.js:2229 users/models.py:124 +msgid "Expiry Date" +msgstr "" + +#: stock/api.py:284 +msgid "Filter by location depth" +msgstr "" + +#: stock/api.py:304 +msgid "Include sub-locations in filtered results" +msgstr "" + +#: stock/api.py:325 +msgid "Parent Location" +msgstr "" + +#: stock/api.py:326 +msgid "Filter by parent location" +msgstr "" + +#: stock/api.py:579 templates/js/translated/table_filters.js:427 +msgid "External Location" +msgstr "" + +#: stock/api.py:767 +msgid "Part Tree" +msgstr "" + +#: stock/api.py:797 +msgid "Expiry date before" +msgstr "" + +#: stock/api.py:801 +msgid "Expiry date after" +msgstr "" + +#: stock/api.py:804 stock/templates/stock/item_base.html:439 +#: templates/js/translated/table_filters.js:441 +msgid "Stale" +msgstr "" + +#: stock/api.py:891 +msgid "Quantity is required" +msgstr "" + +#: stock/api.py:897 +msgid "Valid part must be supplied" +msgstr "" + +#: stock/api.py:928 +msgid "The given supplier part does not exist" +msgstr "" + +#: stock/api.py:938 +msgid "The supplier part has a pack size defined, but flag use_pack_size not set" +msgstr "" + +#: stock/api.py:969 +msgid "Serial numbers cannot be supplied for a non-trackable part" +msgstr "" + +#: stock/models.py:63 +msgid "Stock Location type" +msgstr "" + +#: stock/models.py:64 +msgid "Stock Location types" +msgstr "" + +#: stock/models.py:90 +msgid "Default icon for all locations that have no icon set (optional)" +msgstr "" + +#: stock/models.py:125 stock/models.py:771 +#: stock/templates/stock/location.html:17 +#: stock/templates/stock/stock_app_base.html:8 +msgid "Stock Location" +msgstr "" + +#: stock/models.py:126 stock/templates/stock/location.html:179 +#: templates/InvenTree/search.html:166 templates/js/translated/search.js:178 +#: users/models.py:205 +msgid "Stock Locations" +msgstr "" + +#: stock/models.py:158 stock/models.py:932 +#: stock/templates/stock/item_base.html:247 +msgid "Owner" +msgstr "" + +#: stock/models.py:159 stock/models.py:933 +msgid "Select Owner" +msgstr "" + +#: stock/models.py:167 +msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations." +msgstr "" + +#: stock/models.py:174 templates/js/translated/stock.js:2781 +#: templates/js/translated/table_filters.js:243 +msgid "External" +msgstr "" + +#: stock/models.py:175 +msgid "This is an external stock location" +msgstr "" + +#: stock/models.py:181 templates/js/translated/stock.js:2790 +#: templates/js/translated/table_filters.js:246 +msgid "Location type" +msgstr "" + +#: stock/models.py:185 +msgid "Stock location type of this location" +msgstr "" + +#: stock/models.py:254 +msgid "You cannot make this stock location structural because some stock items are already located into it!" +msgstr "" + +#: stock/models.py:626 +msgid "Stock items cannot be located into structural stock locations!" +msgstr "" + +#: stock/models.py:653 stock/serializers.py:290 +msgid "Stock item cannot be created for virtual parts" +msgstr "" + +#: stock/models.py:670 +#, python-brace-format +msgid "Part type ('{self.supplier_part.part}') must be {self.part}" +msgstr "" + +#: stock/models.py:680 stock/models.py:693 +msgid "Quantity must be 1 for item with a serial number" +msgstr "" + +#: stock/models.py:683 +msgid "Serial number cannot be set if quantity greater than 1" +msgstr "" + +#: stock/models.py:707 +msgid "Item cannot belong to itself" +msgstr "" + +#: stock/models.py:712 +msgid "Item must have a build reference if is_building=True" +msgstr "" + +#: stock/models.py:725 +msgid "Build reference does not point to the same part object" +msgstr "" + +#: stock/models.py:741 +msgid "Parent Stock Item" +msgstr "" + +#: stock/models.py:753 +msgid "Base part" +msgstr "" + +#: stock/models.py:763 +msgid "Select a matching supplier part for this stock item" +msgstr "" + +#: stock/models.py:775 +msgid "Where is this stock item located?" +msgstr "" + +#: stock/models.py:783 stock/serializers.py:1351 +msgid "Packaging this stock item is stored in" +msgstr "" + +#: stock/models.py:794 +msgid "Is this item installed in another item?" +msgstr "" + +#: stock/models.py:813 +msgid "Serial number for this item" +msgstr "" + +#: stock/models.py:827 stock/serializers.py:1334 +msgid "Batch code for this stock item" +msgstr "" + +#: stock/models.py:832 +msgid "Stock Quantity" +msgstr "" + +#: stock/models.py:842 +msgid "Source Build" +msgstr "" + +#: stock/models.py:845 +msgid "Build for this stock item" +msgstr "" + +#: stock/models.py:852 stock/templates/stock/item_base.html:363 +msgid "Consumed By" +msgstr "" + +#: stock/models.py:855 +msgid "Build order which consumed this stock item" +msgstr "" + +#: stock/models.py:864 +msgid "Source Purchase Order" +msgstr "" + +#: stock/models.py:868 +msgid "Purchase order for this stock item" +msgstr "" + +#: stock/models.py:874 +msgid "Destination Sales Order" +msgstr "" + +#: stock/models.py:885 +msgid "Expiry date for stock item. Stock will be considered expired after this date" +msgstr "" + +#: stock/models.py:903 +msgid "Delete on deplete" +msgstr "" + +#: stock/models.py:904 +msgid "Delete this Stock Item when stock is depleted" +msgstr "" + +#: stock/models.py:924 +msgid "Single unit purchase price at time of purchase" +msgstr "" + +#: stock/models.py:955 +msgid "Converted to part" +msgstr "" + +#: stock/models.py:1465 +msgid "Part is not set as trackable" +msgstr "" + +#: stock/models.py:1471 +msgid "Quantity must be integer" +msgstr "" + +#: stock/models.py:1479 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({self.quantity})" +msgstr "" + +#: stock/models.py:1485 +msgid "Serial numbers must be a list of integers" +msgstr "" + +#: stock/models.py:1490 +msgid "Quantity does not match serial numbers" +msgstr "" + +#: stock/models.py:1498 stock/serializers.py:529 +msgid "Serial numbers already exist" +msgstr "" + +#: stock/models.py:1595 +msgid "Test template does not exist" +msgstr "" + +#: stock/models.py:1613 +msgid "Stock item has been assigned to a sales order" +msgstr "" + +#: stock/models.py:1617 +msgid "Stock item is installed in another item" +msgstr "" + +#: stock/models.py:1620 +msgid "Stock item contains other items" +msgstr "" + +#: stock/models.py:1623 +msgid "Stock item has been assigned to a customer" +msgstr "" + +#: stock/models.py:1626 +msgid "Stock item is currently in production" +msgstr "" + +#: stock/models.py:1629 +msgid "Serialized stock cannot be merged" +msgstr "" + +#: stock/models.py:1636 stock/serializers.py:1240 +msgid "Duplicate stock items" +msgstr "" + +#: stock/models.py:1640 +msgid "Stock items must refer to the same part" +msgstr "" + +#: stock/models.py:1648 +msgid "Stock items must refer to the same supplier part" +msgstr "" + +#: stock/models.py:1653 +msgid "Stock status codes must match" +msgstr "" + +#: stock/models.py:1870 +msgid "StockItem cannot be moved as it is not in stock" +msgstr "" + +#: stock/models.py:2333 +msgid "Entry notes" +msgstr "" + +#: stock/models.py:2398 +msgid "Value must be provided for this test" +msgstr "" + +#: stock/models.py:2403 +msgid "Attachment must be uploaded for this test" +msgstr "" + +#: stock/models.py:2430 +msgid "Test result" +msgstr "" + +#: stock/models.py:2437 +msgid "Test output value" +msgstr "" + +#: stock/models.py:2445 +msgid "Test result attachment" +msgstr "" + +#: stock/models.py:2449 +msgid "Test notes" +msgstr "" + +#: stock/models.py:2457 templates/js/translated/stock.js:1545 +msgid "Test station" +msgstr "" + +#: stock/models.py:2458 +msgid "The identifier of the test station where the test was performed" +msgstr "" + +#: stock/models.py:2464 +msgid "Started" +msgstr "" + +#: stock/models.py:2465 +msgid "The timestamp of the test start" +msgstr "" + +#: stock/models.py:2471 +msgid "Finished" +msgstr "" + +#: stock/models.py:2472 +msgid "The timestamp of the test finish" +msgstr "" + +#: stock/serializers.py:100 +msgid "Test template for this result" +msgstr "" + +#: stock/serializers.py:119 +msgid "Template ID or test name must be provided" +msgstr "" + +#: stock/serializers.py:151 +msgid "The test finished time cannot be earlier than the test started time" +msgstr "" + +#: stock/serializers.py:184 +msgid "Serial number is too large" +msgstr "" + +#: stock/serializers.py:282 +msgid "Use pack size when adding: the quantity defined is the number of packs" +msgstr "" + +#: stock/serializers.py:402 +msgid "Purchase price of this stock item, per unit or pack" +msgstr "" + +#: stock/serializers.py:464 +msgid "Enter number of stock items to serialize" +msgstr "" + +#: stock/serializers.py:477 +#, python-brace-format +msgid "Quantity must not exceed available stock quantity ({q})" +msgstr "" + +#: stock/serializers.py:484 +msgid "Enter serial numbers for new items" +msgstr "" + +#: stock/serializers.py:495 stock/serializers.py:1197 stock/serializers.py:1453 +msgid "Destination stock location" +msgstr "" + +#: stock/serializers.py:502 +msgid "Optional note field" +msgstr "" + +#: stock/serializers.py:512 +msgid "Serial numbers cannot be assigned to this part" +msgstr "" + +#: stock/serializers.py:567 +msgid "Select stock item to install" +msgstr "" + +#: stock/serializers.py:574 +msgid "Quantity to Install" +msgstr "" + +#: stock/serializers.py:575 +msgid "Enter the quantity of items to install" +msgstr "" + +#: stock/serializers.py:580 stock/serializers.py:660 stock/serializers.py:756 +#: stock/serializers.py:806 +msgid "Add transaction note (optional)" +msgstr "" + +#: stock/serializers.py:588 +msgid "Quantity to install must be at least 1" +msgstr "" + +#: stock/serializers.py:596 +msgid "Stock item is unavailable" +msgstr "" + +#: stock/serializers.py:607 +msgid "Selected part is not in the Bill of Materials" +msgstr "" + +#: stock/serializers.py:620 +msgid "Quantity to install must not exceed available quantity" +msgstr "" + +#: stock/serializers.py:655 +msgid "Destination location for uninstalled item" +msgstr "" + +#: stock/serializers.py:690 +msgid "Select part to convert stock item into" +msgstr "" + +#: stock/serializers.py:703 +msgid "Selected part is not a valid option for conversion" +msgstr "" + +#: stock/serializers.py:720 +msgid "Cannot convert stock item with assigned SupplierPart" +msgstr "" + +#: stock/serializers.py:751 +msgid "Destination location for returned item" +msgstr "" + +#: stock/serializers.py:788 +msgid "Select stock items to change status" +msgstr "" + +#: stock/serializers.py:794 +msgid "No stock items selected" +msgstr "" + +#: stock/serializers.py:890 stock/serializers.py:953 +#: stock/templates/stock/location.html:165 +#: stock/templates/stock/location.html:213 +#: stock/templates/stock/location_sidebar.html:5 +msgid "Sublocations" +msgstr "" + +#: stock/serializers.py:1069 +msgid "Part must be salable" +msgstr "" + +#: stock/serializers.py:1073 +msgid "Item is allocated to a sales order" +msgstr "" + +#: stock/serializers.py:1077 +msgid "Item is allocated to a build order" +msgstr "" + +#: stock/serializers.py:1101 +msgid "Customer to assign stock items" +msgstr "" + +#: stock/serializers.py:1107 +msgid "Selected company is not a customer" +msgstr "" + +#: stock/serializers.py:1115 +msgid "Stock assignment notes" +msgstr "" + +#: stock/serializers.py:1125 stock/serializers.py:1379 +msgid "A list of stock items must be provided" +msgstr "" + +#: stock/serializers.py:1204 +msgid "Stock merging notes" +msgstr "" + +#: stock/serializers.py:1209 +msgid "Allow mismatched suppliers" +msgstr "" + +#: stock/serializers.py:1210 +msgid "Allow stock items with different supplier parts to be merged" +msgstr "" + +#: stock/serializers.py:1215 +msgid "Allow mismatched status" +msgstr "" + +#: stock/serializers.py:1216 +msgid "Allow stock items with different status codes to be merged" +msgstr "" + +#: stock/serializers.py:1226 +msgid "At least two stock items must be provided" +msgstr "" + +#: stock/serializers.py:1293 +msgid "No Change" +msgstr "" + +#: stock/serializers.py:1322 +msgid "StockItem primary key value" +msgstr "" + +#: stock/serializers.py:1341 +msgid "Stock item status code" +msgstr "" + +#: stock/serializers.py:1369 +msgid "Stock transaction notes" +msgstr "" + +#: stock/templates/stock/item.html:17 +msgid "Stock Tracking Information" +msgstr "" + +#: stock/templates/stock/item.html:63 +msgid "Child Stock Items" +msgstr "" + +#: stock/templates/stock/item.html:72 +msgid "This stock item does not have any child items" +msgstr "" + +#: stock/templates/stock/item.html:81 +#: stock/templates/stock/stock_sidebar.html:12 +msgid "Test Data" +msgstr "" + +#: stock/templates/stock/item.html:85 stock/templates/stock/item_base.html:65 +msgid "Test Report" +msgstr "" + +#: stock/templates/stock/item.html:89 stock/templates/stock/item.html:286 +msgid "Delete Test Data" +msgstr "" + +#: stock/templates/stock/item.html:93 +msgid "Add Test Data" +msgstr "" + +#: stock/templates/stock/item.html:125 +msgid "Stock Item Notes" +msgstr "" + +#: stock/templates/stock/item.html:140 +msgid "Installed Stock Items" +msgstr "" + +#: stock/templates/stock/item.html:145 templates/js/translated/stock.js:3271 +msgid "Install Stock Item" +msgstr "" + +#: stock/templates/stock/item.html:274 +msgid "Delete all test results for this stock item" +msgstr "" + +#: stock/templates/stock/item.html:304 templates/js/translated/stock.js:1698 +msgid "Add Test Result" +msgstr "" + +#: stock/templates/stock/item_base.html:33 +msgid "Locate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:51 +msgid "Scan to Location" +msgstr "" + +#: stock/templates/stock/item_base.html:59 +#: stock/templates/stock/location.html:70 +#: templates/js/translated/filters.js:431 +msgid "Printing actions" +msgstr "" + +#: stock/templates/stock/item_base.html:75 +msgid "Stock adjustment actions" +msgstr "" + +#: stock/templates/stock/item_base.html:79 +#: stock/templates/stock/location.html:90 templates/js/translated/stock.js:1821 +msgid "Count stock" +msgstr "" + +#: stock/templates/stock/item_base.html:81 +#: templates/js/translated/stock.js:1803 +msgid "Add stock" +msgstr "" + +#: stock/templates/stock/item_base.html:82 +#: templates/js/translated/stock.js:1812 +msgid "Remove stock" +msgstr "" + +#: stock/templates/stock/item_base.html:85 +msgid "Serialize stock" +msgstr "" + +#: stock/templates/stock/item_base.html:88 +#: stock/templates/stock/location.html:96 templates/js/translated/stock.js:1830 +msgid "Transfer stock" +msgstr "" + +#: stock/templates/stock/item_base.html:91 +#: templates/js/translated/stock.js:1884 +msgid "Assign to customer" +msgstr "" + +#: stock/templates/stock/item_base.html:94 +msgid "Return to stock" +msgstr "" + +#: stock/templates/stock/item_base.html:97 +msgid "Uninstall stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:97 +msgid "Uninstall" +msgstr "" + +#: stock/templates/stock/item_base.html:101 +msgid "Install stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:101 +msgid "Install" +msgstr "" + +#: stock/templates/stock/item_base.html:115 +msgid "Convert to variant" +msgstr "" + +#: stock/templates/stock/item_base.html:118 +msgid "Duplicate stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:120 +msgid "Edit stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:123 +msgid "Delete stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:169 templates/InvenTree/search.html:139 +#: templates/js/translated/build.js:2121 templates/navbar.html:38 +msgid "Build" +msgstr "" + +#: stock/templates/stock/item_base.html:193 +msgid "Parent Item" +msgstr "" + +#: stock/templates/stock/item_base.html:211 +msgid "No manufacturer set" +msgstr "" + +#: stock/templates/stock/item_base.html:251 +msgid "You are not in the list of owners of this item. This stock item cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:252 +#: stock/templates/stock/location.html:149 +msgid "Read only" +msgstr "" + +#: stock/templates/stock/item_base.html:265 +msgid "This stock item is unavailable" +msgstr "" + +#: stock/templates/stock/item_base.html:271 +msgid "This stock item is in production and cannot be edited." +msgstr "" + +#: stock/templates/stock/item_base.html:272 +msgid "Edit the stock item from the build view." +msgstr "" + +#: stock/templates/stock/item_base.html:287 +msgid "This stock item is allocated to Sales Order" +msgstr "" + +#: stock/templates/stock/item_base.html:295 +msgid "This stock item is allocated to Build Order" +msgstr "" + +#: stock/templates/stock/item_base.html:311 +msgid "This stock item is serialized. It has a unique serial number and the quantity cannot be adjusted" +msgstr "" + +#: stock/templates/stock/item_base.html:317 +msgid "previous page" +msgstr "" + +#: stock/templates/stock/item_base.html:317 +msgid "Navigate to previous serial number" +msgstr "" + +#: stock/templates/stock/item_base.html:326 +msgid "next page" +msgstr "" + +#: stock/templates/stock/item_base.html:326 +msgid "Navigate to next serial number" +msgstr "" + +#: stock/templates/stock/item_base.html:340 +msgid "Available Quantity" +msgstr "" + +#: stock/templates/stock/item_base.html:398 +#: templates/js/translated/build.js:2378 +msgid "No location set" +msgstr "" + +#: stock/templates/stock/item_base.html:413 +msgid "Tests" +msgstr "" + +#: stock/templates/stock/item_base.html:419 +msgid "This stock item has not passed all required tests" +msgstr "" + +#: stock/templates/stock/item_base.html:437 +#, python-format +msgid "This StockItem expired on %(item.expiry_date)s" +msgstr "" + +#: stock/templates/stock/item_base.html:437 +#: templates/js/translated/table_filters.js:435 users/models.py:174 +msgid "Expired" +msgstr "" + +#: stock/templates/stock/item_base.html:439 +#, python-format +msgid "This StockItem expires on %(item.expiry_date)s" +msgstr "" + +#: stock/templates/stock/item_base.html:455 +msgid "No stocktake performed" +msgstr "" + +#: stock/templates/stock/item_base.html:507 +#: templates/js/translated/stock.js:1951 +msgid "stock item" +msgstr "" + +#: stock/templates/stock/item_base.html:532 +msgid "Edit Stock Status" +msgstr "" + +#: stock/templates/stock/item_base.html:541 +msgid "Stock Item QR Code" +msgstr "" + +#: stock/templates/stock/item_base.html:552 +msgid "Link Barcode to Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:616 +msgid "Select one of the part variants listed below." +msgstr "" + +#: stock/templates/stock/item_base.html:619 +msgid "Warning" +msgstr "" + +#: stock/templates/stock/item_base.html:620 +msgid "This action cannot be easily undone" +msgstr "" + +#: stock/templates/stock/item_base.html:628 +msgid "Convert Stock Item" +msgstr "" + +#: stock/templates/stock/item_base.html:662 +msgid "Return to Stock" +msgstr "" + +#: stock/templates/stock/item_serialize.html:5 +msgid "Create serialized items from this stock item." +msgstr "" + +#: stock/templates/stock/item_serialize.html:7 +msgid "Select quantity to serialize, and unique serial numbers." +msgstr "" + +#: stock/templates/stock/location.html:38 +msgid "Perform stocktake for this stock location" +msgstr "" + +#: stock/templates/stock/location.html:45 +msgid "Locate stock location" +msgstr "" + +#: stock/templates/stock/location.html:63 +msgid "Scan stock items into this location" +msgstr "" + +#: stock/templates/stock/location.html:63 +msgid "Scan In Stock Items" +msgstr "" + +#: stock/templates/stock/location.html:64 +msgid "Scan stock container into this location" +msgstr "" + +#: stock/templates/stock/location.html:64 +msgid "Scan In Container" +msgstr "" + +#: stock/templates/stock/location.html:75 +msgid "Print Location Report" +msgstr "" + +#: stock/templates/stock/location.html:104 +msgid "Location actions" +msgstr "" + +#: stock/templates/stock/location.html:106 +msgid "Edit location" +msgstr "" + +#: stock/templates/stock/location.html:108 +msgid "Delete location" +msgstr "" + +#: stock/templates/stock/location.html:138 +msgid "Top level stock location" +msgstr "" + +#: stock/templates/stock/location.html:144 +msgid "Location Owner" +msgstr "" + +#: stock/templates/stock/location.html:148 +msgid "You are not in the list of owners of this location. This stock location cannot be edited." +msgstr "" + +#: stock/templates/stock/location.html:217 +msgid "Create new stock location" +msgstr "" + +#: stock/templates/stock/location.html:218 +msgid "New Location" +msgstr "" + +#: stock/templates/stock/location.html:287 +#: templates/js/translated/stock.js:2572 +msgid "stock location" +msgstr "" + +#: stock/templates/stock/location.html:315 +msgid "Scanned stock container into this location" +msgstr "" + +#: stock/templates/stock/location.html:388 +msgid "Stock Location QR Code" +msgstr "" + +#: stock/templates/stock/location.html:399 +msgid "Link Barcode to Stock Location" +msgstr "" + +#: stock/templates/stock/stock_app_base.html:16 +msgid "Loading..." +msgstr "" + +#: stock/templates/stock/stock_sidebar.html:5 +msgid "Stock Tracking" +msgstr "" + +#: stock/templates/stock/stock_sidebar.html:8 +msgid "Allocations" +msgstr "" + +#: stock/templates/stock/stock_sidebar.html:20 +msgid "Child Items" +msgstr "" + +#: templates/403.html:6 templates/403.html:12 templates/403_csrf.html:7 +msgid "Permission Denied" +msgstr "" + +#: templates/403.html:15 +msgid "You do not have permission to view this page." +msgstr "" + +#: templates/403_csrf.html:11 +msgid "Authentication Failure" +msgstr "" + +#: templates/403_csrf.html:14 +msgid "You have been logged out from InvenTree." +msgstr "" + +#: templates/403_csrf.html:19 templates/InvenTree/settings/sidebar.html:29 +#: templates/navbar.html:150 +msgid "Login" +msgstr "" + +#: templates/404.html:6 templates/404.html:12 +msgid "Page Not Found" +msgstr "" + +#: templates/404.html:15 +msgid "The requested page does not exist" +msgstr "" + +#: templates/500.html:6 templates/500.html:12 +msgid "Internal Server Error" +msgstr "" + +#: templates/500.html:15 +#, python-format +msgid "The %(inventree_title)s server raised an internal error" +msgstr "" + +#: templates/500.html:16 +msgid "Refer to the error log in the admin interface for further details" +msgstr "" + +#: templates/503.html:11 templates/503.html:33 +msgid "Site is in Maintenance" +msgstr "" + +#: templates/503.html:39 +msgid "The site is currently in maintenance and should be up again soon!" +msgstr "" + +#: templates/InvenTree/index.html:7 +msgid "Index" +msgstr "" + +#: templates/InvenTree/index.html:39 +msgid "Subscribed Parts" +msgstr "" + +#: templates/InvenTree/index.html:52 +msgid "Subscribed Categories" +msgstr "" + +#: templates/InvenTree/index.html:62 +msgid "Latest Parts" +msgstr "" + +#: templates/InvenTree/index.html:77 +msgid "BOM Waiting Validation" +msgstr "" + +#: templates/InvenTree/index.html:106 +msgid "Recently Updated" +msgstr "" + +#: templates/InvenTree/index.html:134 +msgid "Depleted Stock" +msgstr "" + +#: templates/InvenTree/index.html:148 +msgid "Required for Build Orders" +msgstr "" + +#: templates/InvenTree/index.html:156 +msgid "Expired Stock" +msgstr "" + +#: templates/InvenTree/index.html:172 +msgid "Stale Stock" +msgstr "" + +#: templates/InvenTree/index.html:199 +msgid "Build Orders In Progress" +msgstr "" + +#: templates/InvenTree/index.html:210 +msgid "Overdue Build Orders" +msgstr "" + +#: templates/InvenTree/index.html:230 +msgid "Outstanding Purchase Orders" +msgstr "" + +#: templates/InvenTree/index.html:241 +msgid "Overdue Purchase Orders" +msgstr "" + +#: templates/InvenTree/index.html:262 +msgid "Outstanding Sales Orders" +msgstr "" + +#: templates/InvenTree/index.html:273 +msgid "Overdue Sales Orders" +msgstr "" + +#: templates/InvenTree/index.html:299 +msgid "InvenTree News" +msgstr "" + +#: templates/InvenTree/index.html:301 +msgid "Current News" +msgstr "" + +#: templates/InvenTree/notifications/history.html:9 +msgid "Notification History" +msgstr "" + +#: templates/InvenTree/notifications/history.html:13 +#: templates/InvenTree/notifications/history.html:14 +#: templates/InvenTree/notifications/notifications.html:75 +msgid "Delete Notifications" +msgstr "" + +#: templates/InvenTree/notifications/inbox.html:9 +msgid "Pending Notifications" +msgstr "" + +#: templates/InvenTree/notifications/inbox.html:13 +#: templates/InvenTree/notifications/inbox.html:14 +msgid "Mark all as read" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:10 +#: templates/InvenTree/notifications/sidebar.html:5 +#: templates/InvenTree/settings/sidebar.html:17 +#: templates/InvenTree/settings/sidebar.html:37 templates/notifications.html:5 +msgid "Notifications" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:38 +msgid "No unread notifications found" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:58 +msgid "No notification history found" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:65 +msgid "Delete all read notifications" +msgstr "" + +#: templates/InvenTree/notifications/notifications.html:89 +#: templates/js/translated/notification.js:85 +msgid "Delete Notification" +msgstr "" + +#: templates/InvenTree/notifications/sidebar.html:8 +msgid "Inbox" +msgstr "" + +#: templates/InvenTree/notifications/sidebar.html:10 +msgid "History" +msgstr "" + +#: templates/InvenTree/search.html:8 +msgid "Search Results" +msgstr "" + +#: templates/InvenTree/settings/barcode.html:8 +msgid "Barcode Settings" +msgstr "" + +#: templates/InvenTree/settings/build.html:8 +msgid "Build Order Settings" +msgstr "" + +#: templates/InvenTree/settings/category.html:7 +msgid "Category Settings" +msgstr "" + +#: templates/InvenTree/settings/global.html:8 +msgid "Server Settings" +msgstr "" + +#: templates/InvenTree/settings/label.html:8 +#: templates/InvenTree/settings/user_labels.html:9 +msgid "Label Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:8 +msgid "Login Settings" +msgstr "" + +#: templates/InvenTree/settings/login.html:15 +msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" +msgstr "" + +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 +#: templates/socialaccount/signup.html:5 +msgid "Signup" +msgstr "" + +#: templates/InvenTree/settings/login.html:36 +msgid "Single Sign On" +msgstr "" + +#: templates/InvenTree/settings/mixins/settings.html:5 +#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:147 +msgid "Settings" +msgstr "" + +#: templates/InvenTree/settings/mixins/urls.html:5 +msgid "URLs" +msgstr "" + +#: templates/InvenTree/settings/mixins/urls.html:8 +#, python-format +msgid "The Base-URL for this plugin is %(base)s." +msgstr "" + +#: templates/InvenTree/settings/mixins/urls.html:14 +msgid "URL" +msgstr "" + +#: templates/InvenTree/settings/mixins/urls.html:23 +msgid "Open in new tab" +msgstr "" + +#: templates/InvenTree/settings/notifications.html:9 +#: templates/InvenTree/settings/user_notifications.html:9 +msgid "Notification Settings" +msgstr "" + +#: templates/InvenTree/settings/notifications.html:18 +msgid "Slug" +msgstr "" + +#: templates/InvenTree/settings/part.html:7 +msgid "Part Settings" +msgstr "" + +#: templates/InvenTree/settings/part.html:42 +msgid "Part Import" +msgstr "" + +#: templates/InvenTree/settings/part.html:46 +msgid "Import Part" +msgstr "" + +#: templates/InvenTree/settings/part_parameters.html:20 +msgid "Part Parameter Templates" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:7 +msgid "Stocktake Settings" +msgstr "" + +#: templates/InvenTree/settings/part_stocktake.html:25 +msgid "Stocktake Reports" +msgstr "" + +#: templates/InvenTree/settings/physical_units.html:8 +#: templates/InvenTree/settings/sidebar.html:35 +msgid "Physical Units" +msgstr "" + +#: templates/InvenTree/settings/physical_units.html:12 +msgid "Add Unit" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:9 +#: templates/InvenTree/settings/sidebar.html:64 +msgid "Plugin Settings" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:15 +msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." +msgstr "" + +#: templates/InvenTree/settings/plugin.html:38 +#: templates/InvenTree/settings/sidebar.html:66 +msgid "Plugins" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 +#: templates/js/translated/plugin.js:151 +msgid "Install Plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 +#: templates/js/translated/plugin.js:224 +msgid "Reload Plugins" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:58 +msgid "External plugins are not enabled for this InvenTree installation" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:73 +msgid "Plugin Error Stack" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:82 +msgid "Stage" +msgstr "" + +#: templates/InvenTree/settings/plugin.html:84 +#: templates/js/translated/notification.js:76 +msgid "Message" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:16 +msgid "Plugin information" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:47 +msgid "no version information supplied" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:61 +msgid "License" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:70 +msgid "The code information is pulled from the latest git commit for this plugin. It might not reflect official version numbers or information but the actual code running." +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:76 +msgid "Package information" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:82 +msgid "Installation method" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:85 +msgid "This plugin was installed as a package" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:87 +msgid "This plugin was found in a local server path" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:93 +msgid "Installation path" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:100 +#: templates/js/translated/plugin.js:68 +#: templates/js/translated/table_filters.js:496 +msgid "Builtin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:101 +msgid "This is a builtin plugin which cannot be disabled" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:107 +#: templates/js/translated/plugin.js:72 +#: templates/js/translated/table_filters.js:500 +msgid "Sample" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:108 +msgid "This is a sample plugin" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:113 +msgid "Commit Author" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:117 +#: templates/about.html:36 +msgid "Commit Date" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:121 +#: templates/about.html:29 +msgid "Commit Hash" +msgstr "" + +#: templates/InvenTree/settings/plugin_settings.html:125 +msgid "Commit Message" +msgstr "" + +#: templates/InvenTree/settings/po.html:7 +msgid "Purchase Order Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:7 +msgid "Pricing Settings" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:34 +msgid "Exchange Rates" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:38 +msgid "Update Now" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:46 +#: templates/InvenTree/settings/pricing.html:50 +msgid "Last Update" +msgstr "" + +#: templates/InvenTree/settings/pricing.html:50 +msgid "Never" +msgstr "" + +#: templates/InvenTree/settings/project_codes.html:8 +msgid "Project Code Settings" +msgstr "" + +#: templates/InvenTree/settings/project_codes.html:21 +#: templates/InvenTree/settings/sidebar.html:33 +msgid "Project Codes" +msgstr "" + +#: templates/InvenTree/settings/project_codes.html:25 +#: templates/InvenTree/settings/settings_staff_js.html:216 +msgid "New Project Code" +msgstr "" + +#: templates/InvenTree/settings/report.html:8 +#: templates/InvenTree/settings/user_reporting.html:9 +msgid "Report Settings" +msgstr "" + +#: templates/InvenTree/settings/returns.html:7 +msgid "Return Order Settings" +msgstr "" + +#: templates/InvenTree/settings/setting.html:31 +msgid "No value set" +msgstr "" + +#: templates/InvenTree/settings/setting.html:46 +msgid "Edit setting" +msgstr "" + +#: templates/InvenTree/settings/settings_js.html:58 +msgid "Edit Plugin Setting" +msgstr "" + +#: templates/InvenTree/settings/settings_js.html:60 +msgid "Edit Notification Setting" +msgstr "" + +#: templates/InvenTree/settings/settings_js.html:63 +msgid "Edit Global Setting" +msgstr "" + +#: templates/InvenTree/settings/settings_js.html:65 +msgid "Edit User Setting" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:49 +msgid "Rate" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:81 +#: templates/js/translated/forms.js:547 templates/js/translated/helpers.js:105 +#: templates/js/translated/part.js:392 templates/js/translated/pricing.js:629 +#: templates/js/translated/stock.js:245 users/models.py:424 +msgid "Delete" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:95 +msgid "Edit Custom Unit" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:110 +msgid "Delete Custom Unit" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:124 +msgid "New Custom Unit" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:140 +msgid "No project codes found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:158 +#: templates/js/translated/build.js:2226 +msgid "group" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:175 +#: templates/InvenTree/settings/settings_staff_js.html:189 +msgid "Edit Project Code" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:176 +#: templates/InvenTree/settings/settings_staff_js.html:203 +msgid "Delete Project Code" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:285 +msgid "No category parameter templates found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:308 +#: templates/js/translated/part.js:1645 +msgid "Edit Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:309 +#: templates/js/translated/part.js:1646 +msgid "Delete Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:326 +msgid "Edit Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:353 +msgid "Delete Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:388 +msgid "Create Category Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:418 +msgid "Create Part Parameter Template" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:440 +msgid "No stock location types found" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:461 +msgid "Location count" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:466 +#: templates/InvenTree/settings/settings_staff_js.html:480 +msgid "Edit Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:467 +msgid "Delete Location type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:490 +msgid "Delete Location Type" +msgstr "" + +#: templates/InvenTree/settings/settings_staff_js.html:500 +#: templates/InvenTree/settings/stock.html:37 +msgid "New Location Type" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:6 +#: templates/InvenTree/settings/user_settings.html:9 +msgid "User Settings" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:9 +msgid "Account" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:11 +msgid "Display" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:13 +msgid "Home Page" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:15 +#: templates/js/translated/forms.js:2159 templates/js/translated/tables.js:543 +#: templates/navbar.html:107 templates/search.html:8 +#: templates/search_form.html:6 templates/search_form.html:7 +msgid "Search" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:19 +#: templates/InvenTree/settings/sidebar.html:43 +msgid "Reporting" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:24 +msgid "Global Settings" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:27 templates/stats.html:9 +msgid "Server" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:41 +msgid "Labels" +msgstr "" + +#: templates/InvenTree/settings/sidebar.html:45 +msgid "Categories" +msgstr "" + +#: templates/InvenTree/settings/so.html:7 +msgid "Sales Order Settings" +msgstr "" + +#: templates/InvenTree/settings/stock.html:7 +msgid "Stock Settings" +msgstr "" + +#: templates/InvenTree/settings/stock.html:33 +msgid "Stock Location Types" +msgstr "" + +#: templates/InvenTree/settings/user.html:13 +msgid "Account Settings" +msgstr "" + +#: templates/InvenTree/settings/user.html:19 +#: templates/account/password_reset_from_key.html:4 +#: templates/account/password_reset_from_key.html:7 +msgid "Change Password" +msgstr "" + +#: templates/InvenTree/settings/user.html:33 +msgid "Username" +msgstr "" + +#: templates/InvenTree/settings/user.html:37 +msgid "First Name" +msgstr "" + +#: templates/InvenTree/settings/user.html:41 +msgid "Last Name" +msgstr "" + +#: templates/InvenTree/settings/user.html:55 +msgid "The following email addresses are associated with your account:" +msgstr "" + +#: templates/InvenTree/settings/user.html:76 +msgid "Verified" +msgstr "" + +#: templates/InvenTree/settings/user.html:78 +msgid "Unverified" +msgstr "" + +#: templates/InvenTree/settings/user.html:80 +#: templates/js/translated/company.js:957 +msgid "Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:86 +msgid "Make Primary" +msgstr "" + +#: templates/InvenTree/settings/user.html:87 +msgid "Re-send Verification" +msgstr "" + +#: templates/InvenTree/settings/user.html:96 +msgid "Warning:" +msgstr "" + +#: templates/InvenTree/settings/user.html:97 +msgid "You currently do not have any email address set up. You should really add an email address so you can receive notifications, reset your password, etc." +msgstr "" + +#: templates/InvenTree/settings/user.html:105 +msgid "Add Email Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:110 +msgid "Add Email" +msgstr "" + +#: templates/InvenTree/settings/user.html:120 +msgid "Multifactor" +msgstr "" + +#: templates/InvenTree/settings/user.html:125 +msgid "You have these factors available:" +msgstr "" + +#: templates/InvenTree/settings/user.html:135 +msgid "TOTP" +msgstr "" + +#: templates/InvenTree/settings/user.html:141 +msgid "Static" +msgstr "" + +#: templates/InvenTree/settings/user.html:150 +msgid "Multifactor authentication is not configured for your account" +msgstr "" + +#: templates/InvenTree/settings/user.html:157 +msgid "Change factors" +msgstr "" + +#: templates/InvenTree/settings/user.html:158 +msgid "Setup multifactor" +msgstr "" + +#: templates/InvenTree/settings/user.html:160 +msgid "Remove multifactor" +msgstr "" + +#: templates/InvenTree/settings/user.html:168 +msgid "Active Sessions" +msgstr "" + +#: templates/InvenTree/settings/user.html:174 +msgid "Log out active sessions (except this one)" +msgstr "" + +#: templates/InvenTree/settings/user.html:175 +msgid "Log Out Active Sessions" +msgstr "" + +#: templates/InvenTree/settings/user.html:184 +msgid "unknown on unknown" +msgstr "" + +#: templates/InvenTree/settings/user.html:185 +msgid "unknown" +msgstr "" + +#: templates/InvenTree/settings/user.html:189 +msgid "IP Address" +msgstr "" + +#: templates/InvenTree/settings/user.html:190 +msgid "Device" +msgstr "" + +#: templates/InvenTree/settings/user.html:191 +msgid "Last Activity" +msgstr "" + +#: templates/InvenTree/settings/user.html:204 +#, python-format +msgid "%(time)s ago (this session)" +msgstr "" + +#: templates/InvenTree/settings/user.html:206 +#, python-format +msgid "%(time)s ago" +msgstr "" + +#: templates/InvenTree/settings/user.html:218 +msgid "Do you really want to remove the selected email address?" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:9 +msgid "Display Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:29 +msgid "Theme Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:39 +msgid "Select theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:50 +msgid "Set Theme" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:58 +msgid "Language Settings" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:67 +msgid "Select language" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:83 +#, python-format +msgid "%(lang_translated)s%% translated" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:85 +msgid "No translations available" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:92 +msgid "Set Language" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:95 +msgid "Some languages are not complete" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:97 +msgid "Show only sufficient" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:99 +msgid "and hidden." +msgstr "" + +#: templates/InvenTree/settings/user_display.html:99 +msgid "Show them too" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:106 +msgid "Help the translation efforts!" +msgstr "" + +#: templates/InvenTree/settings/user_display.html:107 +msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged." +msgstr "" + +#: templates/InvenTree/settings/user_display.html:108 +msgid "InvenTree Translation Project" +msgstr "" + +#: templates/InvenTree/settings/user_homepage.html:9 +msgid "Home Page Settings" +msgstr "" + +#: templates/InvenTree/settings/user_search.html:9 +msgid "Search Settings" +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:9 +msgid "Single Sign On Accounts" +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:16 +msgid "You can sign in to your account using any of the following third party accounts:" +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:52 +msgid "There are no social network accounts connected to this account." +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:58 +msgid "Add SSO Account" +msgstr "" + +#: templates/InvenTree/settings/user_sso.html:67 +msgid "Single Sign On is not enabled for this server" +msgstr "" + +#: templates/about.html:9 +msgid "InvenTree Version" +msgstr "" + +#: templates/about.html:14 +msgid "Development Version" +msgstr "" + +#: templates/about.html:17 +msgid "Up to Date" +msgstr "" + +#: templates/about.html:19 +msgid "Update Available" +msgstr "" + +#: templates/about.html:43 +msgid "Commit Branch" +msgstr "" + +#: templates/about.html:49 +msgid "InvenTree Documentation" +msgstr "" + +#: templates/about.html:54 +msgid "API Version" +msgstr "" + +#: templates/about.html:59 +msgid "Python Version" +msgstr "" + +#: templates/about.html:64 +msgid "Django Version" +msgstr "" + +#: templates/about.html:69 +msgid "View Code on GitHub" +msgstr "" + +#: templates/about.html:74 +msgid "Credits" +msgstr "" + +#: templates/about.html:79 +msgid "Mobile App" +msgstr "" + +#: templates/about.html:84 +msgid "Submit Bug Report" +msgstr "" + +#: templates/about.html:91 templates/clip.html:4 +#: templates/js/translated/helpers.js:585 +msgid "copy to clipboard" +msgstr "" + +#: templates/about.html:91 +msgid "copy version information" +msgstr "" + +#: templates/account/base.html:66 templates/navbar.html:17 +msgid "InvenTree logo" +msgstr "" + +#: templates/account/email_confirm.html:6 +#: templates/account/email_confirm.html:9 +msgid "Confirm Email Address" +msgstr "" + +#: templates/account/email_confirm.html:15 +#, python-format +msgid "Please confirm that %(email)s is an email address for user %(user_display)s." +msgstr "" + +#: templates/account/email_confirm.html:21 templates/js/translated/forms.js:774 +msgid "Confirm" +msgstr "" + +#: templates/account/email_confirm.html:29 +#, python-format +msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." +msgstr "" + +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 +msgid "Sign In" +msgstr "" + +#: templates/account/login.html:23 +msgid "Not a member?" +msgstr "" + +#: templates/account/login.html:25 templates/account/signup.html:11 +#: templates/account/signup.html:22 templates/socialaccount/signup.html:8 +#: templates/socialaccount/signup.html:23 +msgid "Sign Up" +msgstr "" + +#: templates/account/login.html:47 +msgid "Forgot Password?" +msgstr "" + +#: templates/account/login.html:55 +msgid "or log in with" +msgstr "" + +#: templates/account/logout.html:5 templates/account/logout.html:8 +#: templates/account/logout.html:20 +msgid "Sign Out" +msgstr "" + +#: templates/account/logout.html:10 +msgid "Are you sure you want to sign out?" +msgstr "" + +#: templates/account/logout.html:27 templates/allauth_2fa/backup_tokens.html:35 +#: templates/allauth_2fa/remove.html:24 templates/allauth_2fa/setup.html:44 +msgid "Return to Site" +msgstr "" + +#: templates/account/password_reset.html:5 +#: templates/account/password_reset.html:12 +msgid "Password Reset" +msgstr "" + +#: templates/account/password_reset.html:18 +msgid "Forgotten your password? Enter your email address below, and we'll send you an email allowing you to reset it." +msgstr "" + +#: templates/account/password_reset.html:23 +msgid "Reset My Password" +msgstr "" + +#: templates/account/password_reset.html:27 templates/account/signup.html:37 +msgid "This function is currently disabled. Please contact an administrator." +msgstr "" + +#: templates/account/password_reset_from_key.html:7 +msgid "Bad Token" +msgstr "" + +#: templates/account/password_reset_from_key.html:11 +#, python-format +msgid "The password reset link was invalid, possibly because it has already been used. Please request a new password reset." +msgstr "" + +#: templates/account/password_reset_from_key.html:18 +msgid "Change password" +msgstr "" + +#: templates/account/password_reset_from_key.html:22 +msgid "Your password is now changed." +msgstr "" + +#: templates/account/signup.html:13 +#, python-format +msgid "Already have an account? Then please sign in." +msgstr "" + +#: templates/account/signup.html:28 +msgid "Use a SSO-provider for signup" +msgstr "" + +#: templates/account/signup_closed.html:5 +#: templates/account/signup_closed.html:8 +msgid "Sign Up Closed" +msgstr "" + +#: templates/account/signup_closed.html:10 +msgid "Sign up is currently closed." +msgstr "" + +#: templates/account/signup_closed.html:15 +#: templates/socialaccount/authentication_error.html:19 +#: templates/socialaccount/login.html:38 templates/socialaccount/signup.html:30 +msgid "Return to login page" +msgstr "" + +#: templates/admin_button.html:8 +msgid "View in administration panel" +msgstr "" + +#: templates/allauth_2fa/authenticate.html:5 +msgid "Two-Factor Authentication" +msgstr "" + +#: templates/allauth_2fa/authenticate.html:13 +msgid "Authenticate" +msgstr "" + +#: templates/allauth_2fa/backup_tokens.html:6 +msgid "Two-Factor Authentication Backup Tokens" +msgstr "" + +#: templates/allauth_2fa/backup_tokens.html:17 +msgid "Backup tokens have been generated, but are not revealed here for security reasons. Press the button below to generate new ones." +msgstr "" + +#: templates/allauth_2fa/backup_tokens.html:20 +msgid "No backup tokens are available. Press the button below to generate some." +msgstr "" + +#: templates/allauth_2fa/backup_tokens.html:28 +msgid "Generate Tokens" +msgstr "" + +#: templates/allauth_2fa/remove.html:6 +msgid "Disable Two-Factor Authentication" +msgstr "" + +#: templates/allauth_2fa/remove.html:9 +msgid "Are you sure?" +msgstr "" + +#: templates/allauth_2fa/remove.html:17 +msgid "Disable 2FA" +msgstr "" + +#: templates/allauth_2fa/setup.html:6 +msgid "Setup Two-Factor Authentication" +msgstr "" + +#: templates/allauth_2fa/setup.html:10 +msgid "Step 1" +msgstr "" + +#: templates/allauth_2fa/setup.html:14 +msgid "Scan the QR code below with a token generator of your choice (for instance Google Authenticator)." +msgstr "" + +#: templates/allauth_2fa/setup.html:23 +msgid "Step 2" +msgstr "" + +#: templates/allauth_2fa/setup.html:27 +msgid "Input a token generated by the app:" +msgstr "" + +#: templates/allauth_2fa/setup.html:37 +msgid "Verify" +msgstr "" + +#: templates/attachment_button.html:4 templates/js/translated/attachment.js:70 +msgid "Add Link" +msgstr "" + +#: templates/attachment_button.html:7 templates/js/translated/attachment.js:48 +msgid "Add Attachment" +msgstr "" + +#: templates/barcode_data.html:5 +msgid "Barcode Identifier" +msgstr "" + +#: templates/base.html:103 +msgid "Server Restart Required" +msgstr "" + +#: templates/base.html:106 +msgid "A configuration option has been changed which requires a server restart" +msgstr "" + +#: templates/base.html:106 templates/base.html:116 +msgid "Contact your system administrator for further information" +msgstr "" + +#: templates/base.html:113 +msgid "Pending Database Migrations" +msgstr "" + +#: templates/base.html:116 +msgid "There are pending database migrations which require attention" +msgstr "" + +#: templates/email/build_order_completed.html:9 +#: templates/email/canceled_order_assigned.html:9 +#: templates/email/new_order_assigned.html:9 +#: templates/email/overdue_build_order.html:9 +#: templates/email/overdue_purchase_order.html:9 +#: templates/email/overdue_sales_order.html:9 +#: templates/email/purchase_order_received.html:9 +#: templates/email/return_order_received.html:9 +msgid "Click on the following link to view this order" +msgstr "" + +#: templates/email/build_order_required_stock.html:7 +msgid "Stock is required for the following build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:8 +#, python-format +msgid "Build order %(build)s - building %(quantity)s x %(part)s" +msgstr "" + +#: templates/email/build_order_required_stock.html:10 +msgid "Click on the following link to view this build order" +msgstr "" + +#: templates/email/build_order_required_stock.html:14 +msgid "The following parts are low on required stock" +msgstr "" + +#: templates/email/build_order_required_stock.html:18 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 +msgid "Required Quantity" +msgstr "" + +#: templates/email/build_order_required_stock.html:38 +#: templates/email/low_stock_notification.html:30 +msgid "You are receiving this email because you are subscribed to notifications for this part " +msgstr "" + +#: templates/email/low_stock_notification.html:9 +msgid "Click on the following link to view this part" +msgstr "" + +#: templates/email/low_stock_notification.html:18 +#: templates/js/translated/part.js:3218 +msgid "Minimum Quantity" +msgstr "" + +#: templates/js/translated/api.js:225 templates/js/translated/modals.js:1130 +msgid "No Response" +msgstr "" + +#: templates/js/translated/api.js:226 templates/js/translated/modals.js:1131 +msgid "No response from the InvenTree server" +msgstr "" + +#: templates/js/translated/api.js:232 +msgid "Error 400: Bad request" +msgstr "" + +#: templates/js/translated/api.js:233 +msgid "API request returned error code 400" +msgstr "" + +#: templates/js/translated/api.js:237 templates/js/translated/modals.js:1140 +msgid "Error 401: Not Authenticated" +msgstr "" + +#: templates/js/translated/api.js:238 templates/js/translated/modals.js:1141 +msgid "Authentication credentials not supplied" +msgstr "" + +#: templates/js/translated/api.js:242 templates/js/translated/modals.js:1145 +msgid "Error 403: Permission Denied" +msgstr "" + +#: templates/js/translated/api.js:243 templates/js/translated/modals.js:1146 +msgid "You do not have the required permissions to access this function" +msgstr "" + +#: templates/js/translated/api.js:247 templates/js/translated/modals.js:1150 +msgid "Error 404: Resource Not Found" +msgstr "" + +#: templates/js/translated/api.js:248 templates/js/translated/modals.js:1151 +msgid "The requested resource could not be located on the server" +msgstr "" + +#: templates/js/translated/api.js:252 +msgid "Error 405: Method Not Allowed" +msgstr "" + +#: templates/js/translated/api.js:253 +msgid "HTTP method not allowed at URL" +msgstr "" + +#: templates/js/translated/api.js:257 templates/js/translated/modals.js:1155 +msgid "Error 408: Timeout" +msgstr "" + +#: templates/js/translated/api.js:258 templates/js/translated/modals.js:1156 +msgid "Connection timeout while requesting data from server" +msgstr "" + +#: templates/js/translated/api.js:261 +msgid "Error 503: Service Unavailable" +msgstr "" + +#: templates/js/translated/api.js:262 +msgid "The server is currently unavailable" +msgstr "" + +#: templates/js/translated/api.js:265 +msgid "Unhandled Error Code" +msgstr "" + +#: templates/js/translated/api.js:266 +msgid "Error code" +msgstr "" + +#: templates/js/translated/attachment.js:114 +msgid "All selected attachments will be deleted" +msgstr "" + +#: templates/js/translated/attachment.js:129 +msgid "Delete Attachments" +msgstr "" + +#: templates/js/translated/attachment.js:205 +msgid "Delete attachments" +msgstr "" + +#: templates/js/translated/attachment.js:253 +msgid "Attachment actions" +msgstr "" + +#: templates/js/translated/attachment.js:275 +msgid "No attachments found" +msgstr "" + +#: templates/js/translated/attachment.js:315 +msgid "Edit Attachment" +msgstr "" + +#: templates/js/translated/attachment.js:346 +msgid "Upload Date" +msgstr "" + +#: templates/js/translated/attachment.js:366 +msgid "Edit attachment" +msgstr "" + +#: templates/js/translated/attachment.js:374 +msgid "Delete attachment" +msgstr "" + +#: templates/js/translated/barcode.js:43 +msgid "Scan barcode data here using barcode scanner" +msgstr "" + +#: templates/js/translated/barcode.js:45 +msgid "Enter barcode data" +msgstr "" + +#: templates/js/translated/barcode.js:59 +msgid "Scan barcode using connected webcam" +msgstr "" + +#: templates/js/translated/barcode.js:138 +msgid "Enter optional notes for stock transfer" +msgstr "" + +#: templates/js/translated/barcode.js:139 +msgid "Enter notes" +msgstr "" + +#: templates/js/translated/barcode.js:188 +msgid "Server error" +msgstr "" + +#: templates/js/translated/barcode.js:217 +msgid "Unknown response from server" +msgstr "" + +#: templates/js/translated/barcode.js:252 +#: templates/js/translated/modals.js:1120 +msgid "Invalid server response" +msgstr "" + +#: templates/js/translated/barcode.js:372 +msgid "Scan barcode data" +msgstr "" + +#: templates/js/translated/barcode.js:420 templates/navbar.html:114 +msgid "Scan Barcode" +msgstr "" + +#: templates/js/translated/barcode.js:458 +msgid "No URL in response" +msgstr "" + +#: templates/js/translated/barcode.js:498 +msgid "This will remove the link to the associated barcode" +msgstr "" + +#: templates/js/translated/barcode.js:504 +msgid "Unlink" +msgstr "" + +#: templates/js/translated/barcode.js:567 templates/js/translated/stock.js:1155 +msgid "Remove stock item" +msgstr "" + +#: templates/js/translated/barcode.js:610 +msgid "Scan Stock Items Into Location" +msgstr "" + +#: templates/js/translated/barcode.js:612 +msgid "Scan stock item barcode to check in to this location" +msgstr "" + +#: templates/js/translated/barcode.js:615 +#: templates/js/translated/barcode.js:812 +msgid "Check In" +msgstr "" + +#: templates/js/translated/barcode.js:647 +msgid "No barcode provided" +msgstr "" + +#: templates/js/translated/barcode.js:687 +msgid "Stock Item already scanned" +msgstr "" + +#: templates/js/translated/barcode.js:691 +msgid "Stock Item already in this location" +msgstr "" + +#: templates/js/translated/barcode.js:698 +msgid "Added stock item" +msgstr "" + +#: templates/js/translated/barcode.js:707 +msgid "Barcode does not match valid stock item" +msgstr "" + +#: templates/js/translated/barcode.js:726 +msgid "Scan Stock Container Into Location" +msgstr "" + +#: templates/js/translated/barcode.js:728 +msgid "Scan stock container barcode to check in to this location" +msgstr "" + +#: templates/js/translated/barcode.js:762 +msgid "Barcode does not match valid stock location" +msgstr "" + +#: templates/js/translated/barcode.js:806 +msgid "Check Into Location" +msgstr "" + +#: templates/js/translated/barcode.js:875 +#: templates/js/translated/barcode.js:884 +msgid "Barcode does not match a valid location" +msgstr "" + +#: templates/js/translated/bom.js:78 +msgid "Create BOM Item" +msgstr "" + +#: templates/js/translated/bom.js:132 +msgid "Display row data" +msgstr "" + +#: templates/js/translated/bom.js:188 +msgid "Row Data" +msgstr "" + +#: templates/js/translated/bom.js:189 templates/js/translated/bom.js:700 +#: templates/js/translated/modals.js:74 templates/js/translated/modals.js:628 +#: templates/js/translated/modals.js:752 templates/js/translated/modals.js:1060 +#: templates/js/translated/purchase_order.js:797 templates/modals.html:15 +#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50 +msgid "Close" +msgstr "" + +#: templates/js/translated/bom.js:306 +msgid "Download BOM Template" +msgstr "" + +#: templates/js/translated/bom.js:351 +msgid "Multi Level BOM" +msgstr "" + +#: templates/js/translated/bom.js:352 +msgid "Include BOM data for subassemblies" +msgstr "" + +#: templates/js/translated/bom.js:357 +msgid "Levels" +msgstr "" + +#: templates/js/translated/bom.js:358 +msgid "Select maximum number of BOM levels to export (0 = all levels)" +msgstr "" + +#: templates/js/translated/bom.js:365 +msgid "Include Alternative Parts" +msgstr "" + +#: templates/js/translated/bom.js:366 +msgid "Include alternative parts in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:371 +msgid "Include Parameter Data" +msgstr "" + +#: templates/js/translated/bom.js:372 +msgid "Include part parameter data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:377 +msgid "Include Stock Data" +msgstr "" + +#: templates/js/translated/bom.js:378 +msgid "Include part stock data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:383 +msgid "Include Manufacturer Data" +msgstr "" + +#: templates/js/translated/bom.js:384 +msgid "Include part manufacturer data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:389 +msgid "Include Supplier Data" +msgstr "" + +#: templates/js/translated/bom.js:390 +msgid "Include part supplier data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:395 +msgid "Include Pricing Data" +msgstr "" + +#: templates/js/translated/bom.js:396 +msgid "Include part pricing data in exported BOM" +msgstr "" + +#: templates/js/translated/bom.js:591 +msgid "Remove substitute part" +msgstr "" + +#: templates/js/translated/bom.js:645 +msgid "Select and add a new substitute part using the input below" +msgstr "" + +#: templates/js/translated/bom.js:656 +msgid "Are you sure you wish to remove this substitute part link?" +msgstr "" + +#: templates/js/translated/bom.js:662 +msgid "Remove Substitute Part" +msgstr "" + +#: templates/js/translated/bom.js:701 +msgid "Add Substitute" +msgstr "" + +#: templates/js/translated/bom.js:702 +msgid "Edit BOM Item Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:764 +msgid "All selected BOM items will be deleted" +msgstr "" + +#: templates/js/translated/bom.js:780 +msgid "Delete selected BOM items?" +msgstr "" + +#: templates/js/translated/bom.js:826 +msgid "Delete items" +msgstr "" + +#: templates/js/translated/bom.js:936 +msgid "Load BOM for subassembly" +msgstr "" + +#: templates/js/translated/bom.js:946 +msgid "Substitutes Available" +msgstr "" + +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 +msgid "Variant stock allowed" +msgstr "" + +#: templates/js/translated/bom.js:1014 +msgid "Substitutes" +msgstr "" + +#: templates/js/translated/bom.js:1139 +msgid "BOM pricing is complete" +msgstr "" + +#: templates/js/translated/bom.js:1144 +msgid "BOM pricing is incomplete" +msgstr "" + +#: templates/js/translated/bom.js:1151 +msgid "No pricing available" +msgstr "" + +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 +msgid "External stock" +msgstr "" + +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 +#: templates/js/translated/sales_order.js:1910 +msgid "No Stock Available" +msgstr "" + +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 +msgid "Includes variant and substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 +#: templates/js/translated/part.js:1256 +#: templates/js/translated/sales_order.js:1907 +msgid "Includes variant stock" +msgstr "" + +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 +msgid "Includes substitute stock" +msgstr "" + +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 +msgid "Consumable item" +msgstr "" + +#: templates/js/translated/bom.js:1285 +msgid "Validate BOM Item" +msgstr "" + +#: templates/js/translated/bom.js:1287 +msgid "This line has been validated" +msgstr "" + +#: templates/js/translated/bom.js:1289 +msgid "Edit substitute parts" +msgstr "" + +#: templates/js/translated/bom.js:1291 templates/js/translated/bom.js:1486 +msgid "Edit BOM Item" +msgstr "" + +#: templates/js/translated/bom.js:1293 +msgid "Delete BOM Item" +msgstr "" + +#: templates/js/translated/bom.js:1313 +msgid "View BOM" +msgstr "" + +#: templates/js/translated/bom.js:1397 +msgid "No BOM items found" +msgstr "" + +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 +msgid "Required Part" +msgstr "" + +#: templates/js/translated/bom.js:1683 +msgid "Inherited from parent BOM" +msgstr "" + +#: templates/js/translated/build.js:142 +msgid "Edit Build Order" +msgstr "" + +#: templates/js/translated/build.js:190 +msgid "Create Build Order" +msgstr "" + +#: templates/js/translated/build.js:222 +msgid "Cancel Build Order" +msgstr "" + +#: templates/js/translated/build.js:231 +msgid "Are you sure you wish to cancel this build?" +msgstr "" + +#: templates/js/translated/build.js:237 +msgid "Stock items have been allocated to this build order" +msgstr "" + +#: templates/js/translated/build.js:244 +msgid "There are incomplete outputs remaining for this build order" +msgstr "" + +#: templates/js/translated/build.js:296 +msgid "Build order is ready to be completed" +msgstr "" + +#: templates/js/translated/build.js:304 +msgid "This build order cannot be completed as there are incomplete outputs" +msgstr "" + +#: templates/js/translated/build.js:309 +msgid "Build Order is incomplete" +msgstr "" + +#: templates/js/translated/build.js:327 +msgid "Complete Build Order" +msgstr "" + +#: templates/js/translated/build.js:368 templates/js/translated/stock.js:119 +#: templates/js/translated/stock.js:294 +msgid "Next available serial number" +msgstr "" + +#: templates/js/translated/build.js:370 templates/js/translated/stock.js:121 +#: templates/js/translated/stock.js:296 +msgid "Latest serial number" +msgstr "" + +#: templates/js/translated/build.js:379 +msgid "The Bill of Materials contains trackable parts" +msgstr "" + +#: templates/js/translated/build.js:380 +msgid "Build outputs must be generated individually" +msgstr "" + +#: templates/js/translated/build.js:388 +msgid "Trackable parts can have serial numbers specified" +msgstr "" + +#: templates/js/translated/build.js:389 +msgid "Enter serial numbers to generate multiple single build outputs" +msgstr "" + +#: templates/js/translated/build.js:396 +msgid "Create Build Output" +msgstr "" + +#: templates/js/translated/build.js:427 +msgid "Allocate stock items to this build output" +msgstr "" + +#: templates/js/translated/build.js:435 +msgid "Deallocate stock from build output" +msgstr "" + +#: templates/js/translated/build.js:444 +msgid "Complete build output" +msgstr "" + +#: templates/js/translated/build.js:452 +msgid "Scrap build output" +msgstr "" + +#: templates/js/translated/build.js:459 +msgid "Delete build output" +msgstr "" + +#: templates/js/translated/build.js:479 +msgid "Are you sure you wish to deallocate the selected stock items from this build?" +msgstr "" + +#: templates/js/translated/build.js:497 +msgid "Deallocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:583 templates/js/translated/build.js:711 +#: templates/js/translated/build.js:837 +msgid "Select Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:584 templates/js/translated/build.js:712 +#: templates/js/translated/build.js:838 +msgid "At least one build output must be selected" +msgstr "" + +#: templates/js/translated/build.js:598 +msgid "Selected build outputs will be marked as complete" +msgstr "" + +#: templates/js/translated/build.js:602 templates/js/translated/build.js:736 +#: templates/js/translated/build.js:860 +msgid "Output" +msgstr "" + +#: templates/js/translated/build.js:630 +msgid "Complete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:727 +msgid "Selected build outputs will be marked as scrapped" +msgstr "" + +#: templates/js/translated/build.js:729 +msgid "Scrapped output are marked as rejected" +msgstr "" + +#: templates/js/translated/build.js:730 +msgid "Allocated stock items will no longer be available" +msgstr "" + +#: templates/js/translated/build.js:731 +msgid "The completion status of the build order will not be adjusted" +msgstr "" + +#: templates/js/translated/build.js:762 +msgid "Scrap Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:852 +msgid "Selected build outputs will be deleted" +msgstr "" + +#: templates/js/translated/build.js:854 +msgid "Build output data will be permanently deleted" +msgstr "" + +#: templates/js/translated/build.js:855 +msgid "Allocated stock items will be returned to stock" +msgstr "" + +#: templates/js/translated/build.js:873 +msgid "Delete Build Outputs" +msgstr "" + +#: templates/js/translated/build.js:960 +msgid "No build order allocations found" +msgstr "" + +#: templates/js/translated/build.js:989 templates/js/translated/build.js:2342 +msgid "Allocated Quantity" +msgstr "" + +#: templates/js/translated/build.js:1003 +msgid "Location not specified" +msgstr "" + +#: templates/js/translated/build.js:1025 +msgid "Complete outputs" +msgstr "" + +#: templates/js/translated/build.js:1043 +msgid "Scrap outputs" +msgstr "" + +#: templates/js/translated/build.js:1061 +msgid "Delete outputs" +msgstr "" + +#: templates/js/translated/build.js:1115 +msgid "build output" +msgstr "" + +#: templates/js/translated/build.js:1116 +msgid "build outputs" +msgstr "" + +#: templates/js/translated/build.js:1120 +msgid "Build output actions" +msgstr "" + +#: templates/js/translated/build.js:1294 +msgid "No active build outputs found" +msgstr "" + +#: templates/js/translated/build.js:1387 +msgid "Allocated Lines" +msgstr "" + +#: templates/js/translated/build.js:1401 +msgid "Required Tests" +msgstr "" + +#: templates/js/translated/build.js:1573 +#: templates/js/translated/purchase_order.js:611 +#: templates/js/translated/sales_order.js:1171 +msgid "Select Parts" +msgstr "" + +#: templates/js/translated/build.js:1574 +#: templates/js/translated/sales_order.js:1172 +msgid "You must select at least one part to allocate" +msgstr "" + +#: templates/js/translated/build.js:1637 +#: templates/js/translated/sales_order.js:1121 +msgid "Specify stock allocation quantity" +msgstr "" + +#: templates/js/translated/build.js:1714 +msgid "All Parts Allocated" +msgstr "" + +#: templates/js/translated/build.js:1715 +msgid "All selected parts have been fully allocated" +msgstr "" + +#: templates/js/translated/build.js:1729 +#: templates/js/translated/sales_order.js:1186 +msgid "Select source location (leave blank to take from all locations)" +msgstr "" + +#: templates/js/translated/build.js:1757 +msgid "Allocate Stock Items to Build Order" +msgstr "" + +#: templates/js/translated/build.js:1768 +#: templates/js/translated/sales_order.js:1283 +msgid "No matching stock locations" +msgstr "" + +#: templates/js/translated/build.js:1841 +#: templates/js/translated/sales_order.js:1362 +msgid "No matching stock items" +msgstr "" + +#: templates/js/translated/build.js:1938 +msgid "Automatic Stock Allocation" +msgstr "" + +#: templates/js/translated/build.js:1939 +msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines" +msgstr "" + +#: templates/js/translated/build.js:1941 +msgid "If a location is specified, stock will only be allocated from that location" +msgstr "" + +#: templates/js/translated/build.js:1942 +msgid "If stock is considered interchangeable, it will be allocated from the first location it is found" +msgstr "" + +#: templates/js/translated/build.js:1943 +msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found" +msgstr "" + +#: templates/js/translated/build.js:1974 +msgid "Allocate Stock Items" +msgstr "" + +#: templates/js/translated/build.js:2080 +msgid "No builds matching query" +msgstr "" + +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 +#: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 +#: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 +#: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 +msgid "Select" +msgstr "" + +#: templates/js/translated/build.js:2129 +msgid "Build order is overdue" +msgstr "" + +#: templates/js/translated/build.js:2175 +msgid "Progress" +msgstr "" + +#: templates/js/translated/build.js:2211 templates/js/translated/stock.js:3042 +msgid "No user information" +msgstr "" + +#: templates/js/translated/build.js:2387 +#: templates/js/translated/sales_order.js:1646 +msgid "Edit stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2388 +#: templates/js/translated/sales_order.js:1647 +msgid "Delete stock allocation" +msgstr "" + +#: templates/js/translated/build.js:2403 +msgid "Edit Allocation" +msgstr "" + +#: templates/js/translated/build.js:2415 +msgid "Remove Allocation" +msgstr "" + +#: templates/js/translated/build.js:2454 +msgid "build line" +msgstr "" + +#: templates/js/translated/build.js:2455 +msgid "build lines" +msgstr "" + +#: templates/js/translated/build.js:2473 +msgid "No build lines found" +msgstr "" + +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 +#: templates/js/translated/part.js:1202 +msgid "Trackable part" +msgstr "" + +#: templates/js/translated/build.js:2538 +msgid "Unit Quantity" +msgstr "" + +#: templates/js/translated/build.js:2590 +#: templates/js/translated/sales_order.js:1915 +msgid "Sufficient stock available" +msgstr "" + +#: templates/js/translated/build.js:2645 +msgid "Consumable Item" +msgstr "" + +#: templates/js/translated/build.js:2652 +msgid "Tracked item" +msgstr "" + +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 +#: templates/js/translated/sales_order.js:2016 +msgid "Build stock" +msgstr "" + +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 +msgid "Order stock" +msgstr "" + +#: templates/js/translated/build.js:2670 +#: templates/js/translated/sales_order.js:2010 +msgid "Allocate stock" +msgstr "" + +#: templates/js/translated/build.js:2674 +msgid "Remove stock allocation" +msgstr "" + +#: templates/js/translated/company.js:98 +msgid "Add Manufacturer" +msgstr "" + +#: templates/js/translated/company.js:111 +#: templates/js/translated/company.js:213 +msgid "Add Manufacturer Part" +msgstr "" + +#: templates/js/translated/company.js:132 +msgid "Edit Manufacturer Part" +msgstr "" + +#: templates/js/translated/company.js:201 +#: templates/js/translated/purchase_order.js:93 +msgid "Add Supplier" +msgstr "" + +#: templates/js/translated/company.js:243 +#: templates/js/translated/purchase_order.js:318 +msgid "Add Supplier Part" +msgstr "" + +#: templates/js/translated/company.js:344 +msgid "All selected supplier parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:360 +msgid "Delete Supplier Parts" +msgstr "" + +#: templates/js/translated/company.js:466 +msgid "Add new Company" +msgstr "" + +#: templates/js/translated/company.js:546 +msgid "Parts Supplied" +msgstr "" + +#: templates/js/translated/company.js:555 +msgid "Parts Manufactured" +msgstr "" + +#: templates/js/translated/company.js:570 +msgid "No company information found" +msgstr "" + +#: templates/js/translated/company.js:619 +msgid "Create New Contact" +msgstr "" + +#: templates/js/translated/company.js:635 +#: templates/js/translated/company.js:758 +msgid "Edit Contact" +msgstr "" + +#: templates/js/translated/company.js:672 +msgid "All selected contacts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:678 +#: templates/js/translated/company.js:742 +msgid "Role" +msgstr "" + +#: templates/js/translated/company.js:686 +msgid "Delete Contacts" +msgstr "" + +#: templates/js/translated/company.js:717 +msgid "No contacts found" +msgstr "" + +#: templates/js/translated/company.js:730 +msgid "Phone Number" +msgstr "" + +#: templates/js/translated/company.js:736 +msgid "Email Address" +msgstr "" + +#: templates/js/translated/company.js:762 +msgid "Delete Contact" +msgstr "" + +#: templates/js/translated/company.js:859 +msgid "Create New Address" +msgstr "" + +#: templates/js/translated/company.js:874 +#: templates/js/translated/company.js:1035 +msgid "Edit Address" +msgstr "" + +#: templates/js/translated/company.js:909 +msgid "All selected addresses will be deleted" +msgstr "" + +#: templates/js/translated/company.js:923 +msgid "Delete Addresses" +msgstr "" + +#: templates/js/translated/company.js:950 +msgid "No addresses found" +msgstr "" + +#: templates/js/translated/company.js:989 +msgid "Postal city" +msgstr "" + +#: templates/js/translated/company.js:995 +msgid "State/province" +msgstr "" + +#: templates/js/translated/company.js:1007 +msgid "Courier notes" +msgstr "" + +#: templates/js/translated/company.js:1013 +msgid "Internal notes" +msgstr "" + +#: templates/js/translated/company.js:1039 +msgid "Delete Address" +msgstr "" + +#: templates/js/translated/company.js:1112 +msgid "All selected manufacturer parts will be deleted" +msgstr "" + +#: templates/js/translated/company.js:1127 +msgid "Delete Manufacturer Parts" +msgstr "" + +#: templates/js/translated/company.js:1161 +msgid "All selected parameters will be deleted" +msgstr "" + +#: templates/js/translated/company.js:1175 +msgid "Delete Parameters" +msgstr "" + +#: templates/js/translated/company.js:1191 +#: templates/js/translated/company.js:1479 templates/js/translated/part.js:2244 +msgid "Order parts" +msgstr "" + +#: templates/js/translated/company.js:1208 +msgid "Delete manufacturer parts" +msgstr "" + +#: templates/js/translated/company.js:1240 +msgid "Manufacturer part actions" +msgstr "" + +#: templates/js/translated/company.js:1259 +msgid "No manufacturer parts found" +msgstr "" + +#: templates/js/translated/company.js:1279 +#: templates/js/translated/company.js:1567 templates/js/translated/part.js:798 +#: templates/js/translated/part.js:1210 +msgid "Template part" +msgstr "" + +#: templates/js/translated/company.js:1283 +#: templates/js/translated/company.js:1571 templates/js/translated/part.js:802 +#: templates/js/translated/part.js:1214 +msgid "Assembled part" +msgstr "" + +#: templates/js/translated/company.js:1403 templates/js/translated/part.js:1464 +msgid "No parameters found" +msgstr "" + +#: templates/js/translated/company.js:1438 templates/js/translated/part.js:1527 +msgid "Edit parameter" +msgstr "" + +#: templates/js/translated/company.js:1439 templates/js/translated/part.js:1528 +msgid "Delete parameter" +msgstr "" + +#: templates/js/translated/company.js:1456 templates/js/translated/part.js:1433 +msgid "Edit Parameter" +msgstr "" + +#: templates/js/translated/company.js:1465 templates/js/translated/part.js:1549 +msgid "Delete Parameter" +msgstr "" + +#: templates/js/translated/company.js:1496 +msgid "Delete supplier parts" +msgstr "" + +#: templates/js/translated/company.js:1546 +msgid "No supplier parts found" +msgstr "" + +#: templates/js/translated/company.js:1664 +msgid "Base Units" +msgstr "" + +#: templates/js/translated/company.js:1694 +msgid "Availability" +msgstr "" + +#: templates/js/translated/company.js:1725 +msgid "Edit supplier part" +msgstr "" + +#: templates/js/translated/company.js:1726 +msgid "Delete supplier part" +msgstr "" + +#: templates/js/translated/company.js:1779 +#: templates/js/translated/pricing.js:694 +msgid "Delete Price Break" +msgstr "" + +#: templates/js/translated/company.js:1789 +#: templates/js/translated/pricing.js:712 +msgid "Edit Price Break" +msgstr "" + +#: templates/js/translated/company.js:1804 +msgid "No price break information found" +msgstr "" + +#: templates/js/translated/company.js:1833 +msgid "Last updated" +msgstr "" + +#: templates/js/translated/company.js:1840 +msgid "Edit price break" +msgstr "" + +#: templates/js/translated/company.js:1841 +msgid "Delete price break" +msgstr "" + +#: templates/js/translated/filters.js:186 +#: templates/js/translated/filters.js:672 +msgid "true" +msgstr "" + +#: templates/js/translated/filters.js:190 +#: templates/js/translated/filters.js:673 +msgid "false" +msgstr "" + +#: templates/js/translated/filters.js:214 +msgid "Select filter" +msgstr "" + +#: templates/js/translated/filters.js:437 +msgid "Print Labels" +msgstr "" + +#: templates/js/translated/filters.js:441 +msgid "Print Reports" +msgstr "" + +#: templates/js/translated/filters.js:453 +msgid "Download table data" +msgstr "" + +#: templates/js/translated/filters.js:460 +msgid "Reload table data" +msgstr "" + +#: templates/js/translated/filters.js:469 +msgid "Add new filter" +msgstr "" + +#: templates/js/translated/filters.js:477 +msgid "Clear all filters" +msgstr "" + +#: templates/js/translated/filters.js:582 +msgid "Create filter" +msgstr "" + +#: templates/js/translated/forms.js:378 templates/js/translated/forms.js:393 +#: templates/js/translated/forms.js:407 templates/js/translated/forms.js:421 +msgid "Action Prohibited" +msgstr "" + +#: templates/js/translated/forms.js:380 +msgid "Create operation not allowed" +msgstr "" + +#: templates/js/translated/forms.js:395 +msgid "Update operation not allowed" +msgstr "" + +#: templates/js/translated/forms.js:409 +msgid "Delete operation not allowed" +msgstr "" + +#: templates/js/translated/forms.js:423 +msgid "View operation not allowed" +msgstr "" + +#: templates/js/translated/forms.js:800 +msgid "Keep this form open" +msgstr "" + +#: templates/js/translated/forms.js:903 +msgid "Enter a valid number" +msgstr "" + +#: templates/js/translated/forms.js:1473 templates/modals.html:19 +#: templates/modals.html:43 +msgid "Form errors exist" +msgstr "" + +#: templates/js/translated/forms.js:1971 +msgid "No results found" +msgstr "" + +#: templates/js/translated/forms.js:2275 templates/js/translated/search.js:239 +msgid "Searching" +msgstr "" + +#: templates/js/translated/forms.js:2489 +msgid "Clear input" +msgstr "" + +#: templates/js/translated/forms.js:3091 +msgid "File Column" +msgstr "" + +#: templates/js/translated/forms.js:3091 +msgid "Field Name" +msgstr "" + +#: templates/js/translated/forms.js:3103 +msgid "Select Columns" +msgstr "" + +#: templates/js/translated/helpers.js:77 +msgid "YES" +msgstr "" + +#: templates/js/translated/helpers.js:80 +msgid "NO" +msgstr "" + +#: templates/js/translated/helpers.js:93 +msgid "True" +msgstr "" + +#: templates/js/translated/helpers.js:94 +msgid "False" +msgstr "" + +#: templates/js/translated/index.js:104 +msgid "No parts required for builds" +msgstr "" + +#: templates/js/translated/label.js:53 templates/js/translated/report.js:123 +msgid "Select Items" +msgstr "" + +#: templates/js/translated/label.js:54 +msgid "No items selected for printing" +msgstr "" + +#: templates/js/translated/label.js:72 +msgid "No Labels Found" +msgstr "" + +#: templates/js/translated/label.js:73 +msgid "No label templates found which match the selected items" +msgstr "" + +#: templates/js/translated/label.js:97 +msgid "selected" +msgstr "" + +#: templates/js/translated/label.js:133 +msgid "Printing Options" +msgstr "" + +#: templates/js/translated/label.js:148 +msgid "Print label" +msgstr "" + +#: templates/js/translated/label.js:148 +msgid "Print labels" +msgstr "" + +#: templates/js/translated/label.js:149 +msgid "Print" +msgstr "" + +#: templates/js/translated/label.js:155 +msgid "Select label template" +msgstr "" + +#: templates/js/translated/label.js:168 +msgid "Select plugin" +msgstr "" + +#: templates/js/translated/label.js:187 +msgid "Labels sent to printer" +msgstr "" + +#: templates/js/translated/modals.js:58 templates/js/translated/modals.js:158 +#: templates/js/translated/modals.js:683 +msgid "Cancel" +msgstr "" + +#: templates/js/translated/modals.js:63 templates/js/translated/modals.js:157 +#: templates/js/translated/modals.js:751 templates/js/translated/modals.js:1059 +#: templates/modals.html:28 templates/modals.html:51 +msgid "Submit" +msgstr "" + +#: templates/js/translated/modals.js:156 +msgid "Form Title" +msgstr "" + +#: templates/js/translated/modals.js:445 +msgid "Waiting for server..." +msgstr "" + +#: templates/js/translated/modals.js:596 +msgid "Show Error Information" +msgstr "" + +#: templates/js/translated/modals.js:682 +msgid "Accept" +msgstr "" + +#: templates/js/translated/modals.js:740 +msgid "Loading Data" +msgstr "" + +#: templates/js/translated/modals.js:1011 +msgid "Invalid response from server" +msgstr "" + +#: templates/js/translated/modals.js:1011 +msgid "Form data missing from server response" +msgstr "" + +#: templates/js/translated/modals.js:1023 +msgid "Error posting form data" +msgstr "" + +#: templates/js/translated/modals.js:1120 +msgid "JSON response missing form data" +msgstr "" + +#: templates/js/translated/modals.js:1135 +msgid "Error 400: Bad Request" +msgstr "" + +#: templates/js/translated/modals.js:1136 +msgid "Server returned error code 400" +msgstr "" + +#: templates/js/translated/modals.js:1159 +msgid "Error requesting form data" +msgstr "" + +#: templates/js/translated/news.js:33 +msgid "No news found" +msgstr "" + +#: templates/js/translated/news.js:38 +#: templates/js/translated/notification.js:46 +#: templates/js/translated/part.js:1604 +msgid "ID" +msgstr "" + +#: templates/js/translated/notification.js:52 +msgid "Age" +msgstr "" + +#: templates/js/translated/notification.js:65 +msgid "Notification" +msgstr "" + +#: templates/js/translated/notification.js:224 +msgid "Mark as unread" +msgstr "" + +#: templates/js/translated/notification.js:228 +msgid "Mark as read" +msgstr "" + +#: templates/js/translated/notification.js:254 +msgid "No unread notifications" +msgstr "" + +#: templates/js/translated/notification.js:296 templates/notifications.html:12 +msgid "Notifications will load here" +msgstr "" + +#: templates/js/translated/order.js:89 +msgid "Add Extra Line Item" +msgstr "" + +#: templates/js/translated/order.js:126 +msgid "Export Order" +msgstr "" + +#: templates/js/translated/order.js:241 +msgid "Duplicate Line" +msgstr "" + +#: templates/js/translated/order.js:255 +msgid "Edit Line" +msgstr "" + +#: templates/js/translated/order.js:268 +msgid "Delete Line" +msgstr "" + +#: templates/js/translated/order.js:281 +#: templates/js/translated/purchase_order.js:1991 +msgid "No line items found" +msgstr "" + +#: templates/js/translated/order.js:369 +msgid "Duplicate line" +msgstr "" + +#: templates/js/translated/order.js:370 +msgid "Edit line" +msgstr "" + +#: templates/js/translated/order.js:374 +msgid "Delete line" +msgstr "" + +#: templates/js/translated/part.js:90 +msgid "Part Attributes" +msgstr "" + +#: templates/js/translated/part.js:94 +msgid "Part Creation Options" +msgstr "" + +#: templates/js/translated/part.js:98 +msgid "Part Duplication Options" +msgstr "" + +#: templates/js/translated/part.js:121 +msgid "Add Part Category" +msgstr "" + +#: templates/js/translated/part.js:308 +msgid "Parent part category" +msgstr "" + +#: templates/js/translated/part.js:332 templates/js/translated/stock.js:175 +msgid "Icon (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/part.js:352 +msgid "Create Part Category" +msgstr "" + +#: templates/js/translated/part.js:355 +msgid "Create new category after this one" +msgstr "" + +#: templates/js/translated/part.js:356 +msgid "Part category created" +msgstr "" + +#: templates/js/translated/part.js:370 +msgid "Edit Part Category" +msgstr "" + +#: templates/js/translated/part.js:383 +msgid "Are you sure you want to delete this part category?" +msgstr "" + +#: templates/js/translated/part.js:388 +msgid "Move to parent category" +msgstr "" + +#: templates/js/translated/part.js:397 +msgid "Delete Part Category" +msgstr "" + +#: templates/js/translated/part.js:401 +msgid "Action for parts in this category" +msgstr "" + +#: templates/js/translated/part.js:406 +msgid "Action for child categories" +msgstr "" + +#: templates/js/translated/part.js:430 +msgid "Create Part" +msgstr "" + +#: templates/js/translated/part.js:432 +msgid "Create another part after this one" +msgstr "" + +#: templates/js/translated/part.js:433 +msgid "Part created successfully" +msgstr "" + +#: templates/js/translated/part.js:461 +msgid "Edit Part" +msgstr "" + +#: templates/js/translated/part.js:463 +msgid "Part edited" +msgstr "" + +#: templates/js/translated/part.js:474 +msgid "Create Part Variant" +msgstr "" + +#: templates/js/translated/part.js:531 +msgid "Active Part" +msgstr "" + +#: templates/js/translated/part.js:532 +msgid "Part cannot be deleted as it is currently active" +msgstr "" + +#: templates/js/translated/part.js:546 +msgid "Deleting this part cannot be reversed" +msgstr "" + +#: templates/js/translated/part.js:548 +msgid "Any stock items for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:549 +msgid "This part will be removed from any Bills of Material" +msgstr "" + +#: templates/js/translated/part.js:550 +msgid "All manufacturer and supplier information for this part will be deleted" +msgstr "" + +#: templates/js/translated/part.js:557 +msgid "Delete Part" +msgstr "" + +#: templates/js/translated/part.js:593 +msgid "You are subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:595 +msgid "You have subscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:600 +msgid "Subscribe to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:602 +msgid "You have unsubscribed to notifications for this item" +msgstr "" + +#: templates/js/translated/part.js:619 +msgid "Validating the BOM will mark each line item as valid" +msgstr "" + +#: templates/js/translated/part.js:629 +msgid "Validate Bill of Materials" +msgstr "" + +#: templates/js/translated/part.js:632 +msgid "Validated Bill of Materials" +msgstr "" + +#: templates/js/translated/part.js:657 +msgid "Copy Bill of Materials" +msgstr "" + +#: templates/js/translated/part.js:685 +#: templates/js/translated/table_filters.js:747 +msgid "Low stock" +msgstr "" + +#: templates/js/translated/part.js:688 +msgid "No stock available" +msgstr "" + +#: templates/js/translated/part.js:748 +msgid "Demand" +msgstr "" + +#: templates/js/translated/part.js:771 +msgid "Unit" +msgstr "" + +#: templates/js/translated/part.js:794 templates/js/translated/part.js:1206 +msgid "Virtual part" +msgstr "" + +#: templates/js/translated/part.js:806 +msgid "Subscribed part" +msgstr "" + +#: templates/js/translated/part.js:810 +msgid "Salable part" +msgstr "" + +#: templates/js/translated/part.js:889 +msgid "Schedule generation of a new stocktake report." +msgstr "" + +#: templates/js/translated/part.js:889 +msgid "Once complete, the stocktake report will be available for download." +msgstr "" + +#: templates/js/translated/part.js:897 +msgid "Generate Stocktake Report" +msgstr "" + +#: templates/js/translated/part.js:901 +msgid "Stocktake report scheduled" +msgstr "" + +#: templates/js/translated/part.js:1050 +msgid "No stocktake information available" +msgstr "" + +#: templates/js/translated/part.js:1108 templates/js/translated/part.js:1144 +msgid "Edit Stocktake Entry" +msgstr "" + +#: templates/js/translated/part.js:1112 templates/js/translated/part.js:1154 +msgid "Delete Stocktake Entry" +msgstr "" + +#: templates/js/translated/part.js:1281 +msgid "No variants found" +msgstr "" + +#: templates/js/translated/part.js:1599 +msgid "No part parameter templates found" +msgstr "" + +#: templates/js/translated/part.js:1662 +msgid "Edit Part Parameter Template" +msgstr "" + +#: templates/js/translated/part.js:1674 +msgid "Any parameters which reference this template will also be deleted" +msgstr "" + +#: templates/js/translated/part.js:1682 +msgid "Delete Part Parameter Template" +msgstr "" + +#: templates/js/translated/part.js:1716 +#: templates/js/translated/purchase_order.js:1655 +msgid "No purchase orders found" +msgstr "" + +#: templates/js/translated/part.js:1860 +#: templates/js/translated/purchase_order.js:2154 +#: templates/js/translated/return_order.js:756 +#: templates/js/translated/sales_order.js:1875 +msgid "This line item is overdue" +msgstr "" + +#: templates/js/translated/part.js:1906 +#: templates/js/translated/purchase_order.js:2221 +msgid "Receive line item" +msgstr "" + +#: templates/js/translated/part.js:1969 +msgid "Delete part relationship" +msgstr "" + +#: templates/js/translated/part.js:1991 +msgid "Delete Part Relationship" +msgstr "" + +#: templates/js/translated/part.js:2079 templates/js/translated/part.js:2506 +msgid "No parts found" +msgstr "" + +#: templates/js/translated/part.js:2200 +msgid "Set the part category for the selected parts" +msgstr "" + +#: templates/js/translated/part.js:2205 +msgid "Set Part Category" +msgstr "" + +#: templates/js/translated/part.js:2235 +msgid "Set category" +msgstr "" + +#: templates/js/translated/part.js:2287 +msgid "part" +msgstr "" + +#: templates/js/translated/part.js:2288 +msgid "parts" +msgstr "" + +#: templates/js/translated/part.js:2384 +msgid "No category" +msgstr "" + +#: templates/js/translated/part.js:2531 templates/js/translated/part.js:2661 +#: templates/js/translated/stock.js:2669 +msgid "Display as list" +msgstr "" + +#: templates/js/translated/part.js:2547 +msgid "Display as grid" +msgstr "" + +#: templates/js/translated/part.js:2645 +msgid "No subcategories found" +msgstr "" + +#: templates/js/translated/part.js:2681 templates/js/translated/stock.js:2689 +msgid "Display as tree" +msgstr "" + +#: templates/js/translated/part.js:2761 +msgid "Load Subcategories" +msgstr "" + +#: templates/js/translated/part.js:2777 +msgid "Subscribed category" +msgstr "" + +#: templates/js/translated/part.js:2864 +msgid "No test templates matching query" +msgstr "" + +#: templates/js/translated/part.js:2886 templates/js/translated/search.js:342 +msgid "results" +msgstr "" + +#: templates/js/translated/part.js:2936 templates/js/translated/stock.js:1453 +msgid "Edit test result" +msgstr "" + +#: templates/js/translated/part.js:2937 templates/js/translated/stock.js:1454 +#: templates/js/translated/stock.js:1728 +msgid "Delete test result" +msgstr "" + +#: templates/js/translated/part.js:2941 +msgid "This test is defined for a parent part" +msgstr "" + +#: templates/js/translated/part.js:2957 +msgid "Edit Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:2971 +msgid "Delete Test Result Template" +msgstr "" + +#: templates/js/translated/part.js:3050 templates/js/translated/part.js:3051 +msgid "No date specified" +msgstr "" + +#: templates/js/translated/part.js:3053 +msgid "Specified date is in the past" +msgstr "" + +#: templates/js/translated/part.js:3059 +msgid "Speculative" +msgstr "" + +#: templates/js/translated/part.js:3109 +msgid "No scheduling information available for this part" +msgstr "" + +#: templates/js/translated/part.js:3115 +msgid "Error fetching scheduling information for this part" +msgstr "" + +#: templates/js/translated/part.js:3211 +msgid "Scheduled Stock Quantities" +msgstr "" + +#: templates/js/translated/part.js:3227 +msgid "Maximum Quantity" +msgstr "" + +#: templates/js/translated/part.js:3272 +msgid "Minimum Stock Level" +msgstr "" + +#: templates/js/translated/plugin.js:46 +msgid "No plugins found" +msgstr "" + +#: templates/js/translated/plugin.js:58 +msgid "This plugin is no longer installed" +msgstr "" + +#: templates/js/translated/plugin.js:60 +msgid "This plugin is active" +msgstr "" + +#: templates/js/translated/plugin.js:62 +msgid "This plugin is installed but not active" +msgstr "" + +#: templates/js/translated/plugin.js:117 templates/js/translated/plugin.js:186 +msgid "Disable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:119 templates/js/translated/plugin.js:186 +msgid "Enable Plugin" +msgstr "" + +#: templates/js/translated/plugin.js:158 +msgid "The Plugin was installed" +msgstr "" + +#: templates/js/translated/plugin.js:177 +msgid "Are you sure you want to enable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:181 +msgid "Are you sure you want to disable this plugin?" +msgstr "" + +#: templates/js/translated/plugin.js:189 +msgid "Enable" +msgstr "" + +#: templates/js/translated/plugin.js:189 +msgid "Disable" +msgstr "" + +#: templates/js/translated/plugin.js:203 +msgid "Plugin updated" +msgstr "" + +#: templates/js/translated/pricing.js:159 +msgid "Error fetching currency data" +msgstr "" + +#: templates/js/translated/pricing.js:321 +msgid "No BOM data available" +msgstr "" + +#: templates/js/translated/pricing.js:463 +msgid "No supplier pricing data available" +msgstr "" + +#: templates/js/translated/pricing.js:572 +msgid "No price break data available" +msgstr "" + +#: templates/js/translated/pricing.js:755 +msgid "No purchase history data available" +msgstr "" + +#: templates/js/translated/pricing.js:791 +msgid "Purchase Price History" +msgstr "" + +#: templates/js/translated/pricing.js:894 +msgid "No sales history data available" +msgstr "" + +#: templates/js/translated/pricing.js:916 +msgid "Sale Price History" +msgstr "" + +#: templates/js/translated/pricing.js:1005 +msgid "No variant data available" +msgstr "" + +#: templates/js/translated/pricing.js:1045 +msgid "Variant Part" +msgstr "" + +#: templates/js/translated/purchase_order.js:169 +msgid "Select purchase order to duplicate" +msgstr "" + +#: templates/js/translated/purchase_order.js:176 +msgid "Duplicate Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:177 +msgid "Duplicate all line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:184 +msgid "Duplicate Extra Lines" +msgstr "" + +#: templates/js/translated/purchase_order.js:185 +msgid "Duplicate extra line items from the selected order" +msgstr "" + +#: templates/js/translated/purchase_order.js:206 +msgid "Edit Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:223 +msgid "Duplication Options" +msgstr "" + +#: templates/js/translated/purchase_order.js:431 +msgid "Complete Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:448 +#: templates/js/translated/return_order.js:210 +#: templates/js/translated/sales_order.js:500 +msgid "Mark this order as complete?" +msgstr "" + +#: templates/js/translated/purchase_order.js:454 +msgid "All line items have been received" +msgstr "" + +#: templates/js/translated/purchase_order.js:459 +msgid "This order has line items which have not been marked as received." +msgstr "" + +#: templates/js/translated/purchase_order.js:460 +#: templates/js/translated/sales_order.js:514 +msgid "Completing this order means that the order and line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:483 +msgid "Cancel Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:488 +msgid "Are you sure you wish to cancel this purchase order?" +msgstr "" + +#: templates/js/translated/purchase_order.js:494 +msgid "This purchase order can not be cancelled" +msgstr "" + +#: templates/js/translated/purchase_order.js:515 +#: templates/js/translated/return_order.js:164 +msgid "After placing this order, line items will no longer be editable." +msgstr "" + +#: templates/js/translated/purchase_order.js:520 +msgid "Issue Purchase Order" +msgstr "" + +#: templates/js/translated/purchase_order.js:612 +msgid "At least one purchaseable part must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:637 +msgid "Quantity to order" +msgstr "" + +#: templates/js/translated/purchase_order.js:646 +msgid "New supplier part" +msgstr "" + +#: templates/js/translated/purchase_order.js:664 +msgid "New purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:705 +msgid "Add to purchase order" +msgstr "" + +#: templates/js/translated/purchase_order.js:755 +msgid "Merge" +msgstr "" + +#: templates/js/translated/purchase_order.js:859 +msgid "No matching supplier parts" +msgstr "" + +#: templates/js/translated/purchase_order.js:878 +msgid "No matching purchase orders" +msgstr "" + +#: templates/js/translated/purchase_order.js:1073 +#: templates/js/translated/return_order.js:491 +msgid "Select Line Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1074 +#: templates/js/translated/return_order.js:492 +msgid "At least one line item must be selected" +msgstr "" + +#: templates/js/translated/purchase_order.js:1104 +msgid "Received Quantity" +msgstr "" + +#: templates/js/translated/purchase_order.js:1115 +msgid "Quantity to receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1191 +msgid "Stock Status" +msgstr "" + +#: templates/js/translated/purchase_order.js:1205 +msgid "Add barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1206 +msgid "Remove barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1209 +msgid "Specify location" +msgstr "" + +#: templates/js/translated/purchase_order.js:1217 +msgid "Add batch code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1228 +msgid "Add serial numbers" +msgstr "" + +#: templates/js/translated/purchase_order.js:1280 +msgid "Serials" +msgstr "" + +#: templates/js/translated/purchase_order.js:1305 +msgid "Order Code" +msgstr "" + +#: templates/js/translated/purchase_order.js:1307 +msgid "Quantity to Receive" +msgstr "" + +#: templates/js/translated/purchase_order.js:1333 +#: templates/js/translated/return_order.js:561 +msgid "Confirm receipt of items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1334 +msgid "Receive Purchase Order Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1402 +msgid "Scan Item Barcode" +msgstr "" + +#: templates/js/translated/purchase_order.js:1403 +msgid "Scan barcode on incoming item (must not match any existing stock items)" +msgstr "" + +#: templates/js/translated/purchase_order.js:1417 +msgid "Invalid barcode data" +msgstr "" + +#: templates/js/translated/purchase_order.js:1682 +#: templates/js/translated/return_order.js:286 +#: templates/js/translated/sales_order.js:774 +#: templates/js/translated/sales_order.js:998 +msgid "Order is overdue" +msgstr "" + +#: templates/js/translated/purchase_order.js:1748 +#: templates/js/translated/return_order.js:354 +#: templates/js/translated/sales_order.js:851 +#: templates/js/translated/sales_order.js:1011 +msgid "Items" +msgstr "" + +#: templates/js/translated/purchase_order.js:1844 +msgid "All selected Line items will be deleted" +msgstr "" + +#: templates/js/translated/purchase_order.js:1862 +msgid "Delete selected Line items?" +msgstr "" + +#: templates/js/translated/purchase_order.js:1917 +#: templates/js/translated/sales_order.js:2070 +msgid "Duplicate Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1932 +#: templates/js/translated/return_order.js:476 +#: templates/js/translated/return_order.js:669 +#: templates/js/translated/sales_order.js:2083 +msgid "Edit Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:1943 +#: templates/js/translated/return_order.js:682 +#: templates/js/translated/sales_order.js:2094 +msgid "Delete Line Item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2225 +#: templates/js/translated/sales_order.js:2024 +msgid "Duplicate line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2226 +#: templates/js/translated/return_order.js:801 +#: templates/js/translated/sales_order.js:2025 +msgid "Edit line item" +msgstr "" + +#: templates/js/translated/purchase_order.js:2227 +#: templates/js/translated/return_order.js:805 +#: templates/js/translated/sales_order.js:2031 +msgid "Delete line item" +msgstr "" + +#: templates/js/translated/report.js:63 +msgid "items selected" +msgstr "" + +#: templates/js/translated/report.js:71 +msgid "Select Report Template" +msgstr "" + +#: templates/js/translated/report.js:86 +msgid "Select Test Report Template" +msgstr "" + +#: templates/js/translated/report.js:140 +msgid "No Reports Found" +msgstr "" + +#: templates/js/translated/report.js:141 +msgid "No report templates found which match the selected items" +msgstr "" + +#: templates/js/translated/return_order.js:60 +#: templates/js/translated/sales_order.js:86 +msgid "Add Customer" +msgstr "" + +#: templates/js/translated/return_order.js:134 +msgid "Create Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:149 +msgid "Edit Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:169 +msgid "Issue Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:186 +msgid "Are you sure you wish to cancel this Return Order?" +msgstr "" + +#: templates/js/translated/return_order.js:193 +msgid "Cancel Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:218 +msgid "Complete Return Order" +msgstr "" + +#: templates/js/translated/return_order.js:266 +msgid "No return orders found" +msgstr "" + +#: templates/js/translated/return_order.js:300 +#: templates/js/translated/sales_order.js:788 +msgid "Invalid Customer" +msgstr "" + +#: templates/js/translated/return_order.js:562 +msgid "Receive Return Order Items" +msgstr "" + +#: templates/js/translated/return_order.js:693 +#: templates/js/translated/sales_order.js:2231 +msgid "No matching line items" +msgstr "" + +#: templates/js/translated/return_order.js:798 +msgid "Mark item as received" +msgstr "" + +#: templates/js/translated/sales_order.js:161 +msgid "Create Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:176 +msgid "Edit Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:291 +msgid "No stock items have been allocated to this shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:296 +msgid "The following stock items will be shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:336 +msgid "Complete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:360 +msgid "Confirm Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:416 +msgid "No pending shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:420 +msgid "No stock items have been allocated to pending shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:430 +msgid "Complete Shipments" +msgstr "" + +#: templates/js/translated/sales_order.js:452 +msgid "Skip" +msgstr "" + +#: templates/js/translated/sales_order.js:513 +msgid "This order has line items which have not been completed." +msgstr "" + +#: templates/js/translated/sales_order.js:535 +msgid "Issue this Sales Order?" +msgstr "" + +#: templates/js/translated/sales_order.js:540 +msgid "Issue Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:559 +msgid "Cancel Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:564 +msgid "Cancelling this order means that the order will no longer be editable." +msgstr "" + +#: templates/js/translated/sales_order.js:618 +msgid "Create New Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:728 +msgid "No sales orders found" +msgstr "" + +#: templates/js/translated/sales_order.js:908 +msgid "Edit shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:911 +msgid "Complete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:916 +msgid "Delete shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:933 +msgid "Edit Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:948 +msgid "Delete Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:981 +msgid "No matching shipments found" +msgstr "" + +#: templates/js/translated/sales_order.js:1006 +msgid "Shipment Reference" +msgstr "" + +#: templates/js/translated/sales_order.js:1030 +#: templates/js/translated/sales_order.js:1529 +msgid "Not shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:1048 +msgid "Tracking" +msgstr "" + +#: templates/js/translated/sales_order.js:1052 +msgid "Invoice" +msgstr "" + +#: templates/js/translated/sales_order.js:1219 +msgid "Add Shipment" +msgstr "" + +#: templates/js/translated/sales_order.js:1270 +msgid "Confirm stock allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1271 +msgid "Allocate Stock Items to Sales Order" +msgstr "" + +#: templates/js/translated/sales_order.js:1477 +msgid "No sales order allocations found" +msgstr "" + +#: templates/js/translated/sales_order.js:1569 +msgid "Edit Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1583 +msgid "Confirm Delete Operation" +msgstr "" + +#: templates/js/translated/sales_order.js:1584 +msgid "Delete Stock Allocation" +msgstr "" + +#: templates/js/translated/sales_order.js:1623 +#: templates/js/translated/sales_order.js:1710 +#: templates/js/translated/stock.js:1773 +msgid "Shipped to customer" +msgstr "" + +#: templates/js/translated/sales_order.js:1631 +#: templates/js/translated/sales_order.js:1719 +msgid "Stock location not specified" +msgstr "" + +#: templates/js/translated/sales_order.js:2008 +msgid "Allocate serial numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2012 +msgid "Purchase stock" +msgstr "" + +#: templates/js/translated/sales_order.js:2021 +#: templates/js/translated/sales_order.js:2209 +msgid "Calculate price" +msgstr "" + +#: templates/js/translated/sales_order.js:2035 +msgid "Cannot be deleted as items have been shipped" +msgstr "" + +#: templates/js/translated/sales_order.js:2038 +msgid "Cannot be deleted as items have been allocated" +msgstr "" + +#: templates/js/translated/sales_order.js:2109 +msgid "Allocate Serial Numbers" +msgstr "" + +#: templates/js/translated/sales_order.js:2217 +msgid "Update Unit Price" +msgstr "" + +#: templates/js/translated/search.js:270 +msgid "No results" +msgstr "" + +#: templates/js/translated/search.js:292 templates/search.html:25 +msgid "Enter search query" +msgstr "" + +#: templates/js/translated/search.js:342 +msgid "result" +msgstr "" + +#: templates/js/translated/search.js:352 +msgid "Minimize results" +msgstr "" + +#: templates/js/translated/search.js:355 +msgid "Remove results" +msgstr "" + +#: templates/js/translated/stock.js:98 +msgid "Serialize Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:129 +msgid "Confirm Stock Serialization" +msgstr "" + +#: templates/js/translated/stock.js:139 +msgid "Default icon for all locations that have no icon set (optional) - Explore all available icons on" +msgstr "" + +#: templates/js/translated/stock.js:152 +msgid "Parent stock location" +msgstr "" + +#: templates/js/translated/stock.js:166 +msgid "Add Location type" +msgstr "" + +#: templates/js/translated/stock.js:202 +msgid "Edit Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:217 +msgid "New Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:219 +msgid "Create another location after this one" +msgstr "" + +#: templates/js/translated/stock.js:220 +msgid "Stock location created" +msgstr "" + +#: templates/js/translated/stock.js:234 +msgid "Are you sure you want to delete this stock location?" +msgstr "" + +#: templates/js/translated/stock.js:241 +msgid "Move to parent stock location" +msgstr "" + +#: templates/js/translated/stock.js:250 +msgid "Delete Stock Location" +msgstr "" + +#: templates/js/translated/stock.js:254 +msgid "Action for stock items in this stock location" +msgstr "" + +#: templates/js/translated/stock.js:259 +msgid "Action for sub-locations" +msgstr "" + +#: templates/js/translated/stock.js:313 +msgid "This part cannot be serialized" +msgstr "" + +#: templates/js/translated/stock.js:349 +msgid "Add given quantity as packs instead of individual items" +msgstr "" + +#: templates/js/translated/stock.js:362 +msgid "Enter initial quantity for this stock item" +msgstr "" + +#: templates/js/translated/stock.js:368 +msgid "Enter serial numbers for new stock (or leave blank)" +msgstr "" + +#: templates/js/translated/stock.js:439 +msgid "Stock item duplicated" +msgstr "" + +#: templates/js/translated/stock.js:459 +msgid "Duplicate Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:475 +msgid "Are you sure you want to delete this stock item?" +msgstr "" + +#: templates/js/translated/stock.js:480 +msgid "Delete Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:501 +msgid "Edit Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:543 +msgid "Create another item after this one" +msgstr "" + +#: templates/js/translated/stock.js:555 +msgid "Created new stock item" +msgstr "" + +#: templates/js/translated/stock.js:568 +msgid "Created multiple stock items" +msgstr "" + +#: templates/js/translated/stock.js:593 +msgid "Find Serial Number" +msgstr "" + +#: templates/js/translated/stock.js:597 templates/js/translated/stock.js:598 +msgid "Enter serial number" +msgstr "" + +#: templates/js/translated/stock.js:614 +msgid "Enter a serial number" +msgstr "" + +#: templates/js/translated/stock.js:634 +msgid "No matching serial number" +msgstr "" + +#: templates/js/translated/stock.js:643 +msgid "More than one matching result found" +msgstr "" + +#: templates/js/translated/stock.js:751 +msgid "Confirm stock assignment" +msgstr "" + +#: templates/js/translated/stock.js:752 +msgid "Assign Stock to Customer" +msgstr "" + +#: templates/js/translated/stock.js:829 +msgid "Warning: Merge operation cannot be reversed" +msgstr "" + +#: templates/js/translated/stock.js:830 +msgid "Some information will be lost when merging stock items" +msgstr "" + +#: templates/js/translated/stock.js:832 +msgid "Stock transaction history will be deleted for merged items" +msgstr "" + +#: templates/js/translated/stock.js:833 +msgid "Supplier part information will be deleted for merged items" +msgstr "" + +#: templates/js/translated/stock.js:928 +msgid "Confirm stock item merge" +msgstr "" + +#: templates/js/translated/stock.js:929 +msgid "Merge Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1024 +msgid "Transfer Stock" +msgstr "" + +#: templates/js/translated/stock.js:1025 +msgid "Move" +msgstr "" + +#: templates/js/translated/stock.js:1031 +msgid "Count Stock" +msgstr "" + +#: templates/js/translated/stock.js:1032 +msgid "Count" +msgstr "" + +#: templates/js/translated/stock.js:1036 +msgid "Remove Stock" +msgstr "" + +#: templates/js/translated/stock.js:1037 +msgid "Take" +msgstr "" + +#: templates/js/translated/stock.js:1041 +msgid "Add Stock" +msgstr "" + +#: templates/js/translated/stock.js:1042 users/models.py:414 +msgid "Add" +msgstr "" + +#: templates/js/translated/stock.js:1046 +msgid "Delete Stock" +msgstr "" + +#: templates/js/translated/stock.js:1143 +msgid "Quantity cannot be adjusted for serialized stock" +msgstr "" + +#: templates/js/translated/stock.js:1143 +msgid "Specify stock quantity" +msgstr "" + +#: templates/js/translated/stock.js:1177 templates/js/translated/stock.js:3299 +msgid "Select Stock Items" +msgstr "" + +#: templates/js/translated/stock.js:1178 +msgid "Select at least one available stock item" +msgstr "" + +#: templates/js/translated/stock.js:1224 +msgid "Confirm stock adjustment" +msgstr "" + +#: templates/js/translated/stock.js:1360 +msgid "PASS" +msgstr "" + +#: templates/js/translated/stock.js:1362 +msgid "FAIL" +msgstr "" + +#: templates/js/translated/stock.js:1367 +msgid "NO RESULT" +msgstr "" + +#: templates/js/translated/stock.js:1447 +msgid "Pass test" +msgstr "" + +#: templates/js/translated/stock.js:1450 +msgid "Add test result" +msgstr "" + +#: templates/js/translated/stock.js:1473 +msgid "No test results found" +msgstr "" + +#: templates/js/translated/stock.js:1537 +msgid "Test Date" +msgstr "" + +#: templates/js/translated/stock.js:1550 +msgid "Test started" +msgstr "" + +#: templates/js/translated/stock.js:1559 +msgid "Test finished" +msgstr "" + +#: templates/js/translated/stock.js:1713 +msgid "Edit Test Result" +msgstr "" + +#: templates/js/translated/stock.js:1733 +msgid "Delete Test Result" +msgstr "" + +#: templates/js/translated/stock.js:1765 +msgid "In production" +msgstr "" + +#: templates/js/translated/stock.js:1769 +msgid "Installed in Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:1777 +msgid "Assigned to Sales Order" +msgstr "" + +#: templates/js/translated/stock.js:1783 +msgid "No stock location set" +msgstr "" + +#: templates/js/translated/stock.js:1839 +msgid "Change stock status" +msgstr "" + +#: templates/js/translated/stock.js:1848 +msgid "Merge stock" +msgstr "" + +#: templates/js/translated/stock.js:1897 +msgid "Delete stock" +msgstr "" + +#: templates/js/translated/stock.js:1952 +msgid "stock items" +msgstr "" + +#: templates/js/translated/stock.js:1957 +msgid "Scan to location" +msgstr "" + +#: templates/js/translated/stock.js:1968 +msgid "Stock Actions" +msgstr "" + +#: templates/js/translated/stock.js:2012 +msgid "Load installed items" +msgstr "" + +#: templates/js/translated/stock.js:2090 +msgid "Stock item is in production" +msgstr "" + +#: templates/js/translated/stock.js:2095 +msgid "Stock item assigned to sales order" +msgstr "" + +#: templates/js/translated/stock.js:2098 +msgid "Stock item assigned to customer" +msgstr "" + +#: templates/js/translated/stock.js:2101 +msgid "Serialized stock item has been allocated" +msgstr "" + +#: templates/js/translated/stock.js:2103 +msgid "Stock item has been fully allocated" +msgstr "" + +#: templates/js/translated/stock.js:2105 +msgid "Stock item has been partially allocated" +msgstr "" + +#: templates/js/translated/stock.js:2108 +msgid "Stock item has been installed in another item" +msgstr "" + +#: templates/js/translated/stock.js:2110 +msgid "Stock item has been consumed by a build order" +msgstr "" + +#: templates/js/translated/stock.js:2114 +msgid "Stock item has expired" +msgstr "" + +#: templates/js/translated/stock.js:2116 +msgid "Stock item will expire soon" +msgstr "" + +#: templates/js/translated/stock.js:2121 +msgid "Stock item has been rejected" +msgstr "" + +#: templates/js/translated/stock.js:2123 +msgid "Stock item is lost" +msgstr "" + +#: templates/js/translated/stock.js:2125 +msgid "Stock item is destroyed" +msgstr "" + +#: templates/js/translated/stock.js:2129 +#: templates/js/translated/table_filters.js:350 +msgid "Depleted" +msgstr "" + +#: templates/js/translated/stock.js:2294 +msgid "Supplier part not specified" +msgstr "" + +#: templates/js/translated/stock.js:2341 +msgid "Stock Value" +msgstr "" + +#: templates/js/translated/stock.js:2469 +msgid "No stock items matching query" +msgstr "" + +#: templates/js/translated/stock.js:2573 +msgid "stock locations" +msgstr "" + +#: templates/js/translated/stock.js:2728 +msgid "Load Sublocations" +msgstr "" + +#: templates/js/translated/stock.js:2846 +msgid "Details" +msgstr "" + +#: templates/js/translated/stock.js:2850 +msgid "No changes" +msgstr "" + +#: templates/js/translated/stock.js:2862 +msgid "Part information unavailable" +msgstr "" + +#: templates/js/translated/stock.js:2884 +msgid "Location no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2901 +msgid "Build order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2916 +msgid "Purchase order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2933 +msgid "Sales Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2950 +msgid "Return Order no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2969 +msgid "Customer no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:2987 +msgid "Stock item no longer exists" +msgstr "" + +#: templates/js/translated/stock.js:3005 +msgid "Added" +msgstr "" + +#: templates/js/translated/stock.js:3013 +msgid "Removed" +msgstr "" + +#: templates/js/translated/stock.js:3085 +msgid "No installed items" +msgstr "" + +#: templates/js/translated/stock.js:3139 templates/js/translated/stock.js:3175 +msgid "Uninstall Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:3197 +msgid "Select stock item to uninstall" +msgstr "" + +#: templates/js/translated/stock.js:3218 +msgid "Install another stock item into this item" +msgstr "" + +#: templates/js/translated/stock.js:3219 +msgid "Stock items can only be installed if they meet the following criteria" +msgstr "" + +#: templates/js/translated/stock.js:3221 +msgid "The Stock Item links to a Part which is the BOM for this Stock Item" +msgstr "" + +#: templates/js/translated/stock.js:3222 +msgid "The Stock Item is currently available in stock" +msgstr "" + +#: templates/js/translated/stock.js:3223 +msgid "The Stock Item is not already installed in another item" +msgstr "" + +#: templates/js/translated/stock.js:3224 +msgid "The Stock Item is tracked by either a batch code or serial number" +msgstr "" + +#: templates/js/translated/stock.js:3237 +msgid "Select part to install" +msgstr "" + +#: templates/js/translated/stock.js:3300 +msgid "Select one or more stock items" +msgstr "" + +#: templates/js/translated/stock.js:3313 +msgid "Selected stock items" +msgstr "" + +#: templates/js/translated/stock.js:3317 +msgid "Change Stock Status" +msgstr "" + +#: templates/js/translated/table_filters.js:74 +msgid "Has project code" +msgstr "" + +#: templates/js/translated/table_filters.js:89 +#: templates/js/translated/table_filters.js:605 +#: templates/js/translated/table_filters.js:617 +#: templates/js/translated/table_filters.js:658 +msgid "Order status" +msgstr "" + +#: templates/js/translated/table_filters.js:94 +#: templates/js/translated/table_filters.js:622 +#: templates/js/translated/table_filters.js:648 +#: templates/js/translated/table_filters.js:663 +msgid "Outstanding" +msgstr "" + +#: templates/js/translated/table_filters.js:102 +#: templates/js/translated/table_filters.js:528 +#: templates/js/translated/table_filters.js:630 +#: templates/js/translated/table_filters.js:671 +msgid "Assigned to me" +msgstr "" + +#: templates/js/translated/table_filters.js:158 +msgid "Trackable Part" +msgstr "" + +#: templates/js/translated/table_filters.js:162 +msgid "Assembled Part" +msgstr "" + +#: templates/js/translated/table_filters.js:166 +msgid "Has Available Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:182 +msgid "Allow Variant Stock" +msgstr "" + +#: templates/js/translated/table_filters.js:234 +#: templates/js/translated/table_filters.js:345 +msgid "Include sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:235 +msgid "Include locations" +msgstr "" + +#: templates/js/translated/table_filters.js:267 +msgid "Has location type" +msgstr "" + +#: templates/js/translated/table_filters.js:278 +#: templates/js/translated/table_filters.js:279 +#: templates/js/translated/table_filters.js:711 +msgid "Include subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:287 +#: templates/js/translated/table_filters.js:759 +msgid "Subscribed" +msgstr "" + +#: templates/js/translated/table_filters.js:298 +#: templates/js/translated/table_filters.js:380 +msgid "Is Serialized" +msgstr "" + +#: templates/js/translated/table_filters.js:301 +#: templates/js/translated/table_filters.js:387 +msgid "Serial number GTE" +msgstr "" + +#: templates/js/translated/table_filters.js:302 +#: templates/js/translated/table_filters.js:388 +msgid "Serial number greater than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:305 +#: templates/js/translated/table_filters.js:391 +msgid "Serial number LTE" +msgstr "" + +#: templates/js/translated/table_filters.js:306 +#: templates/js/translated/table_filters.js:392 +msgid "Serial number less than or equal to" +msgstr "" + +#: templates/js/translated/table_filters.js:309 +#: templates/js/translated/table_filters.js:310 +#: templates/js/translated/table_filters.js:383 +#: templates/js/translated/table_filters.js:384 +msgid "Serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:314 +#: templates/js/translated/table_filters.js:405 +msgid "Batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:325 +#: templates/js/translated/table_filters.js:700 +msgid "Active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:326 +msgid "Show stock for active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:331 +msgid "Part is an assembly" +msgstr "" + +#: templates/js/translated/table_filters.js:335 +msgid "Is allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:336 +msgid "Item has been allocated" +msgstr "" + +#: templates/js/translated/table_filters.js:341 +msgid "Stock is available for use" +msgstr "" + +#: templates/js/translated/table_filters.js:346 +msgid "Include stock in sublocations" +msgstr "" + +#: templates/js/translated/table_filters.js:351 +msgid "Show stock items which are depleted" +msgstr "" + +#: templates/js/translated/table_filters.js:356 +msgid "Show items which are in stock" +msgstr "" + +#: templates/js/translated/table_filters.js:361 +msgid "Show items which are in production" +msgstr "" + +#: templates/js/translated/table_filters.js:365 +msgid "Include Variants" +msgstr "" + +#: templates/js/translated/table_filters.js:366 +msgid "Include stock items for variant parts" +msgstr "" + +#: templates/js/translated/table_filters.js:371 +msgid "Show stock items which are installed in another item" +msgstr "" + +#: templates/js/translated/table_filters.js:376 +msgid "Show items which have been assigned to a customer" +msgstr "" + +#: templates/js/translated/table_filters.js:396 +#: templates/js/translated/table_filters.js:397 +msgid "Stock status" +msgstr "" + +#: templates/js/translated/table_filters.js:400 +msgid "Has batch code" +msgstr "" + +#: templates/js/translated/table_filters.js:409 +msgid "Stock item is tracked by either batch code or serial number" +msgstr "" + +#: templates/js/translated/table_filters.js:414 +msgid "Has purchase price" +msgstr "" + +#: templates/js/translated/table_filters.js:415 +msgid "Show stock items which have a purchase price set" +msgstr "" + +#: templates/js/translated/table_filters.js:419 +msgid "Expiry Date before" +msgstr "" + +#: templates/js/translated/table_filters.js:423 +msgid "Expiry Date after" +msgstr "" + +#: templates/js/translated/table_filters.js:436 +msgid "Show stock items which have expired" +msgstr "" + +#: templates/js/translated/table_filters.js:442 +msgid "Show stock which is close to expiring" +msgstr "" + +#: templates/js/translated/table_filters.js:456 +msgid "Test Passed" +msgstr "" + +#: templates/js/translated/table_filters.js:460 +msgid "Include Installed Items" +msgstr "" + +#: templates/js/translated/table_filters.js:515 +msgid "Build status" +msgstr "" + +#: templates/js/translated/table_filters.js:712 +msgid "Include parts in subcategories" +msgstr "" + +#: templates/js/translated/table_filters.js:717 +msgid "Show active parts" +msgstr "" + +#: templates/js/translated/table_filters.js:725 +msgid "Available stock" +msgstr "" + +#: templates/js/translated/table_filters.js:733 +#: templates/js/translated/table_filters.js:833 +msgid "Has Units" +msgstr "" + +#: templates/js/translated/table_filters.js:734 +msgid "Part has defined units" +msgstr "" + +#: templates/js/translated/table_filters.js:738 +msgid "Has IPN" +msgstr "" + +#: templates/js/translated/table_filters.js:739 +msgid "Part has internal part number" +msgstr "" + +#: templates/js/translated/table_filters.js:743 +msgid "In stock" +msgstr "" + +#: templates/js/translated/table_filters.js:751 +msgid "Purchasable" +msgstr "" + +#: templates/js/translated/table_filters.js:763 +msgid "Has stocktake entries" +msgstr "" + +#: templates/js/translated/table_filters.js:829 +msgid "Has Choices" +msgstr "" + +#: templates/js/translated/tables.js:92 +msgid "Display calendar view" +msgstr "" + +#: templates/js/translated/tables.js:102 +msgid "Display list view" +msgstr "" + +#: templates/js/translated/tables.js:112 +msgid "Display tree view" +msgstr "" + +#: templates/js/translated/tables.js:130 +msgid "Expand all rows" +msgstr "" + +#: templates/js/translated/tables.js:136 +msgid "Collapse all rows" +msgstr "" + +#: templates/js/translated/tables.js:186 +msgid "Export Table Data" +msgstr "" + +#: templates/js/translated/tables.js:190 +msgid "Select File Format" +msgstr "" + +#: templates/js/translated/tables.js:529 +msgid "Loading data" +msgstr "" + +#: templates/js/translated/tables.js:532 +msgid "rows per page" +msgstr "" + +#: templates/js/translated/tables.js:537 +msgid "Showing all rows" +msgstr "" + +#: templates/js/translated/tables.js:539 +msgid "Showing" +msgstr "" + +#: templates/js/translated/tables.js:539 +msgid "to" +msgstr "" + +#: templates/js/translated/tables.js:539 +msgid "of" +msgstr "" + +#: templates/js/translated/tables.js:539 +msgid "rows" +msgstr "" + +#: templates/js/translated/tables.js:546 +msgid "No matching results" +msgstr "" + +#: templates/js/translated/tables.js:549 +msgid "Hide/Show pagination" +msgstr "" + +#: templates/js/translated/tables.js:555 +msgid "Toggle" +msgstr "" + +#: templates/js/translated/tables.js:558 +msgid "Columns" +msgstr "" + +#: templates/js/translated/tables.js:561 +msgid "All" +msgstr "" + +#: templates/navbar.html:45 +msgid "Buy" +msgstr "" + +#: templates/navbar.html:57 +msgid "Sell" +msgstr "" + +#: templates/navbar.html:121 +msgid "Show Notifications" +msgstr "" + +#: templates/navbar.html:124 +msgid "New Notifications" +msgstr "" + +#: templates/navbar.html:144 users/models.py:201 +msgid "Admin" +msgstr "" + +#: templates/navbar.html:148 +msgid "Logout" +msgstr "" + +#: templates/notes_buttons.html:6 templates/notes_buttons.html:7 +msgid "Save" +msgstr "" + +#: templates/notifications.html:9 +msgid "Show all notifications and history" +msgstr "" + +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + +#: templates/qr_code.html:11 +msgid "QR data not provided" +msgstr "" + +#: templates/registration/logged_out.html:7 +msgid "You were logged out successfully." +msgstr "" + +#: templates/registration/logged_out.html:9 +msgid "Log in again" +msgstr "" + +#: templates/search.html:9 +msgid "Show full search results" +msgstr "" + +#: templates/search.html:12 +msgid "Clear search" +msgstr "" + +#: templates/search.html:15 +msgid "Close search menu" +msgstr "" + +#: templates/socialaccount/authentication_error.html:5 +msgid "Social Network Login Failure" +msgstr "" + +#: templates/socialaccount/authentication_error.html:8 +msgid "Account Login Failure" +msgstr "" + +#: templates/socialaccount/authentication_error.html:11 +msgid "An error occurred while attempting to login via your social network account." +msgstr "" + +#: templates/socialaccount/authentication_error.html:13 +msgid "Contact your system administrator for further information." +msgstr "" + +#: templates/socialaccount/login.html:13 +#, python-format +msgid "Connect %(provider)s" +msgstr "" + +#: templates/socialaccount/login.html:15 +#, python-format +msgid "You are about to connect a new third party account from %(provider)s." +msgstr "" + +#: templates/socialaccount/login.html:17 +#, python-format +msgid "Sign In Via %(provider)s" +msgstr "" + +#: templates/socialaccount/login.html:19 +#, python-format +msgid "You are about to sign in using a third party account from %(provider)s." +msgstr "" + +#: templates/socialaccount/login.html:24 +msgid "Continue" +msgstr "" + +#: templates/socialaccount/login.html:29 +msgid "Invalid SSO Provider" +msgstr "" + +#: templates/socialaccount/login.html:31 +msgid "The selected SSO provider is invalid, or has not been correctly configured" +msgstr "" + +#: templates/socialaccount/signup.html:11 +#, python-format +msgid "You are about to use your %(provider_name)s account to login to %(site_name)s." +msgstr "" + +#: templates/socialaccount/signup.html:13 +msgid "As a final step, please complete the following form" +msgstr "" + +#: templates/socialaccount/snippets/provider_list.html:26 +msgid "Provider has not been configured" +msgstr "" + +#: templates/socialaccount/snippets/provider_list.html:35 +msgid "No SSO providers have been configured" +msgstr "" + +#: templates/stats.html:13 +msgid "Instance Name" +msgstr "" + +#: templates/stats.html:18 +msgid "Database" +msgstr "" + +#: templates/stats.html:26 +msgid "Server is running in debug mode" +msgstr "" + +#: templates/stats.html:33 +msgid "Docker Mode" +msgstr "" + +#: templates/stats.html:34 +msgid "Server is deployed using docker" +msgstr "" + +#: templates/stats.html:39 +msgid "Plugin Support" +msgstr "" + +#: templates/stats.html:43 +msgid "Plugin support enabled" +msgstr "" + +#: templates/stats.html:45 +msgid "Plugin support disabled" +msgstr "" + +#: templates/stats.html:52 +msgid "Server status" +msgstr "" + +#: templates/stats.html:55 +msgid "Healthy" +msgstr "" + +#: templates/stats.html:57 +msgid "Issues detected" +msgstr "" + +#: templates/stats.html:64 +msgid "Background Worker" +msgstr "" + +#: templates/stats.html:67 +msgid "Background worker not running" +msgstr "" + +#: templates/stats.html:75 +msgid "Email Settings" +msgstr "" + +#: templates/stats.html:78 +msgid "Email settings not configured" +msgstr "" + +#: templates/yesnolabel.html:4 +msgid "Yes" +msgstr "" + +#: templates/yesnolabel.html:6 +msgid "No" +msgstr "" + +#: users/admin.py:104 +msgid "Users" +msgstr "" + +#: users/admin.py:105 +msgid "Select which users are assigned to this group" +msgstr "" + +#: users/admin.py:249 +msgid "The following users are members of multiple groups" +msgstr "" + +#: users/admin.py:283 +msgid "Personal info" +msgstr "" + +#: users/admin.py:285 +msgid "Permissions" +msgstr "" + +#: users/admin.py:288 +msgid "Important dates" +msgstr "" + +#: users/authentication.py:29 users/models.py:138 +msgid "Token has been revoked" +msgstr "" + +#: users/authentication.py:32 +msgid "Token has expired" +msgstr "" + +#: users/models.py:81 +msgid "API Token" +msgstr "" + +#: users/models.py:82 +msgid "API Tokens" +msgstr "" + +#: users/models.py:118 +msgid "Token Name" +msgstr "" + +#: users/models.py:119 +msgid "Custom token name" +msgstr "" + +#: users/models.py:125 +msgid "Token expiry date" +msgstr "" + +#: users/models.py:133 +msgid "Last Seen" +msgstr "" + +#: users/models.py:134 +msgid "Last time the token was used" +msgstr "" + +#: users/models.py:138 +msgid "Revoked" +msgstr "" + +#: users/models.py:397 +msgid "Permission set" +msgstr "" + +#: users/models.py:406 +msgid "Group" +msgstr "" + +#: users/models.py:410 +msgid "View" +msgstr "" + +#: users/models.py:410 +msgid "Permission to view items" +msgstr "" + +#: users/models.py:414 +msgid "Permission to add items" +msgstr "" + +#: users/models.py:418 +msgid "Change" +msgstr "" + +#: users/models.py:420 +msgid "Permissions to edit items" +msgstr "" + +#: users/models.py:426 +msgid "Permission to delete items" +msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 0dd2fb4c1b..19a1d2344c 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -407,7 +407,7 @@ msgstr "Chọn file đính kèm" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "Lựa chọn sai" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "Đã trả lại" msgid "In Progress" msgstr "Đang tiến hành" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "Vật tư tiêu hao" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "Đã theo dõi" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "Đã cấp phát" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "Đơn đặt bản dựng với bản dựng này đã được phân b #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "Ngày hoàn thành mục tiêu" msgid "Target date for build completion. Build will be overdue after this date." msgstr "Ngày mục tiêu để hoàn thành bản dựng. Bản dựng sẽ bị quá hạn sau ngày này." -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "Ngày hoàn thành" @@ -1294,7 +1294,7 @@ msgstr "Dựng đối tượng" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "Xây dựng mục phải xác định đầu ra, bởi vì sản phẩm msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" @@ -1501,7 +1501,7 @@ msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "Bật đơn hàng" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "Đang sản xuất" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "Đầu ra hoàn thiện" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "Hàng đã nhận theo đơn hàng trả lại" msgid "Error raised by plugin" msgstr "Lỗi được thông báo bởi phần mở rộng" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "Đang chạy" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "Công việc chờ xử lý" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "Tác vụ theo lịch" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "Tác vụ thất bại" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "ID tác vụ" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "ID tác vụ duy nhất" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "Khoá" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "Thời gian khóa" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "Tên công việc" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "Chức năng" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "Tên chức năng" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "Đối số" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "Đối số công việc" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "Đối số từ khóa" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "Đối số từ khóa công việc" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "Xóa ảnh" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "Không tìm thấy đơn đặt mua phù hợp" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "Đặt hàng" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "Đơn hàng" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "Mô tả đơn đặt (tùy chọn)" msgid "Select project code for this order" msgstr "Mã dự án đã chọn cho đơn đặt hàng này" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "Liên kết đến trang bên ngoài" @@ -5037,15 +5037,15 @@ msgstr "Mã tham chiếu đơn đặt nhà cung cấp" msgid "received by" msgstr "nhận bởi" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "Ngày phát hành" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "Ngày đặt hàng đã phát hành" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "Ngày đặt hàng đã được hoàn thiện" @@ -5061,15 +5061,15 @@ msgstr "Số lượng phải là số dương" msgid "Company to which the items are being sold" msgstr "Doanh nghiệp từ những hàng hóa đang được bán" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "Tham chiếu khách hàng " -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "Mã tham chiếu đơn đặt của khách hàng" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "Giá đơn vị mua" msgid "Where does the Purchaser want this item to be stored?" msgstr "Có phải người mua hàng muốn mặt hàng này được tích trữ?" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "Không thể gán sản phẩm ảo vào trong đơn đặt bán hàng" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "Chỉ có thể gán sản phẩm có thể bán vào đơn đặt bán hàng" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "Giá bán" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "Giá bán đơn vị" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "Số lượng đã vận chuyển" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "Ngày vận chuyển" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "Ngày giao hàng" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "Ngày giao hàng của vận chuyển" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "Kiểm tra bởi" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "Vận chuyển" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "Mã vận chuyển" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "Số theo dõi" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "Thông tin theo dõi vận chuyển" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "Mã hóa đơn" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "Số tham chiếu liên kết với hóa đơn" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "Vận đơn đã được gửi đi" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "Vận đơn chưa có hàng hóa được phân bổ" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "Hàng trong kho chưa được giao" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "Không thể phân bổ hàng hóa vào cùng với dòng với sản phẩm khác" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "Không thể phân bổ hàng hóa vào một dòng mà không có sản phẩm nào" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "Số lượng phân bổ không thể vượt quá số lượng của kho" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "Số lượng phải là 1 cho hàng hóa sêri" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "Đơn bán hàng không phù hợp với vận đơn" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "Vận đơn không phù hợp với đơn bán hàng" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "Dòng" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "Tham chiếu vận đơn của đơn hàng bán" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "Hàng hóa" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "Chọn hàng trong kho để phân bổ" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "Nhập số lượng phân kho" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "Tham chiếu đơn hàng trả lại" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "Công ty có hàng hóa sẽ được trả lại" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "Trạng thái đơn hàng trả lại" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "Chỉ hàng hóa thêo sêri mới có thể được gán vào đơn hàng trả lại" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "Chọn hàng hóa để trả lại từ khách hàng" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "Ngày nhận được" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "Ngày mà hàng hóa trả lại đã được nhận" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "Kết quả" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "Kết quả cho hàng hóa dòng này" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "Chi phí gắn với hàng trả lại hoặc sửa chữa cho dòng hàng hóa này" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "Kho không đủ hạn mức khả dụng" @@ -9872,12 +9872,12 @@ msgstr "Cài đặt đăng nhập" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "Chưa cấu hình email gửi đi. Một số tính năng đăng nhập và đăng ký sẽ không hoạt động được!" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "Đăng ký" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "Đăng nhập một lần" @@ -9954,36 +9954,36 @@ msgstr "Thiết lập phần bổ sung" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "Đổi thiết lập bên dưới yêu cầu bạn cần khởi động máy chủ ngay lập tức. Đừng thay đổi điều này trong khi đang sử dụng phần mềm." -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "Phần bổ sung" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "Cài đặt phần bổ sung" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "Tải lại plugin" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "Phần bổ sung bên ngoài chưa được bật cho cài đặt InvenTree này" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "Ngăn Xếp Lỗi Phần Bổ Sung" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "Giai đoạn" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "Tin nhắn" @@ -10607,26 +10607,26 @@ msgstr "Xác nhận" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "Liên kết xác nhận email đã hết hạn hoặc không hợp lệ. Xin hãy tạo yêu cầu xác nhận email mới." -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "Đăng nhập" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "Chưa có tài khoản?" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "Đăng ký" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "Quân mật khẩu?" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "hoặc đăng nhập bằng" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "Sản phẩm sau còn ít hàng trong kho yêu cầu" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "Số lượng bắt buộc" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "Lưu lại" msgid "Show all notifications and history" msgstr "Hiện toàn bộ thông báo và lịch sử" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "Chưa cung cấp dữ liệu QR" diff --git a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po index a421e6d44b..29015f47ad 100644 --- a/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" -"PO-Revision-Date: 2024-04-21 04:19\n" +"POT-Creation-Date: 2024-04-23 11:06+0000\n" +"PO-Revision-Date: 2024-04-24 05:27\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -407,7 +407,7 @@ msgstr "" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -484,12 +484,12 @@ msgid "Invalid choice" msgstr "" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 #: templates/InvenTree/settings/notifications.html:17 -#: templates/InvenTree/settings/plugin.html:81 +#: templates/InvenTree/settings/plugin.html:83 #: templates/InvenTree/settings/plugin_settings.html:22 #: templates/InvenTree/settings/settings_staff_js.html:67 #: templates/InvenTree/settings/settings_staff_js.html:446 @@ -731,7 +731,7 @@ msgstr "" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -943,7 +943,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -951,7 +951,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -964,7 +964,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -974,7 +974,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1021,14 +1021,14 @@ msgid "Build Order Reference" msgstr "" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1051,7 +1051,7 @@ msgstr "" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1179,7 +1179,7 @@ msgstr "" msgid "Target date for build completion. Build will be overdue after this date." msgstr "" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "" @@ -1294,7 +1294,7 @@ msgstr "" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1351,11 +1351,11 @@ msgstr "" msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "" @@ -1501,7 +1501,7 @@ msgstr "" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1679,14 +1679,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "" @@ -1860,8 +1860,8 @@ msgid "Completed Outputs" msgstr "" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3551,7 +3551,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3752,63 +3752,63 @@ msgstr "" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock time" msgstr "" -#: common/serializers.py:370 +#: common/serializers.py:392 msgid "Task name" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function" msgstr "" -#: common/serializers.py:372 +#: common/serializers.py:394 msgid "Function name" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Arguments" msgstr "" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4317,7 +4317,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -4926,9 +4926,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -4941,7 +4941,7 @@ msgstr "" msgid "Order Pending" msgstr "" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -4955,7 +4955,7 @@ msgstr "" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -4988,7 +4988,7 @@ msgstr "" msgid "Select project code for this order" msgstr "" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5037,15 +5037,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5061,15 +5061,15 @@ msgstr "" msgid "Company to which the items are being sold" msgstr "" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5167,167 +5167,167 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 msgid "Return Order reference" msgstr "" -#: order/models.py:2009 +#: order/models.py:2011 msgid "Company from which items are being returned" msgstr "" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 msgid "Select item to return from customer" msgstr "" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -7899,7 +7899,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -9872,12 +9872,12 @@ msgstr "" msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!" msgstr "" -#: templates/InvenTree/settings/login.html:25 templates/account/signup.html:5 +#: templates/InvenTree/settings/login.html:27 templates/account/signup.html:5 #: templates/socialaccount/signup.html:5 msgid "Signup" msgstr "" -#: templates/InvenTree/settings/login.html:34 +#: templates/InvenTree/settings/login.html:36 msgid "Single Sign On" msgstr "" @@ -9954,36 +9954,36 @@ msgstr "" msgid "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." msgstr "" -#: templates/InvenTree/settings/plugin.html:36 +#: templates/InvenTree/settings/plugin.html:38 #: templates/InvenTree/settings/sidebar.html:66 msgid "Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:42 -#: templates/InvenTree/settings/plugin.html:43 +#: templates/InvenTree/settings/plugin.html:44 +#: templates/InvenTree/settings/plugin.html:45 #: templates/js/translated/plugin.js:151 msgid "Install Plugin" msgstr "" -#: templates/InvenTree/settings/plugin.html:45 -#: templates/InvenTree/settings/plugin.html:46 +#: templates/InvenTree/settings/plugin.html:47 +#: templates/InvenTree/settings/plugin.html:48 #: templates/js/translated/plugin.js:224 msgid "Reload Plugins" msgstr "" -#: templates/InvenTree/settings/plugin.html:56 +#: templates/InvenTree/settings/plugin.html:58 msgid "External plugins are not enabled for this InvenTree installation" msgstr "" -#: templates/InvenTree/settings/plugin.html:71 +#: templates/InvenTree/settings/plugin.html:73 msgid "Plugin Error Stack" msgstr "" -#: templates/InvenTree/settings/plugin.html:80 +#: templates/InvenTree/settings/plugin.html:82 msgid "Stage" msgstr "" -#: templates/InvenTree/settings/plugin.html:82 +#: templates/InvenTree/settings/plugin.html:84 #: templates/js/translated/notification.js:76 msgid "Message" msgstr "" @@ -10607,26 +10607,26 @@ msgstr "" msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request." msgstr "" -#: templates/account/login.html:6 templates/account/login.html:17 -#: templates/account/login.html:38 templates/socialaccount/login.html:5 +#: templates/account/login.html:6 templates/account/login.html:19 +#: templates/account/login.html:40 templates/socialaccount/login.html:5 msgid "Sign In" msgstr "" -#: templates/account/login.html:21 +#: templates/account/login.html:23 msgid "Not a member?" msgstr "" -#: templates/account/login.html:23 templates/account/signup.html:11 +#: templates/account/login.html:25 templates/account/signup.html:11 #: templates/account/signup.html:22 templates/socialaccount/signup.html:8 #: templates/socialaccount/signup.html:23 msgid "Sign Up" msgstr "" -#: templates/account/login.html:45 +#: templates/account/login.html:47 msgid "Forgot Password?" msgstr "" -#: templates/account/login.html:53 +#: templates/account/login.html:55 msgid "or log in with" msgstr "" @@ -10827,7 +10827,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11196,7 +11196,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11216,30 +11216,30 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 msgid "External stock" msgstr "" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11271,7 +11271,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -11555,7 +11555,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -11592,33 +11592,33 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 msgid "build line" msgstr "" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 msgid "build lines" msgstr "" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 msgid "No build lines found" msgstr "" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 msgid "Unit Quantity" msgstr "" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 msgid "Consumable Item" msgstr "" @@ -11626,21 +11626,25 @@ msgstr "" msgid "Tracked item" msgstr "" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 msgid "Remove stock allocation" msgstr "" @@ -13973,6 +13977,22 @@ msgstr "" msgid "Show all notifications and history" msgstr "" +#: templates/pui_banner.html:9 +msgid "Platform UI - the new UI for InvenTree - provides more modern administration options." +msgstr "" + +#: templates/pui_banner.html:12 +msgid "Platform UI - the new UI for InvenTree - is ready to be tested." +msgstr "" + +#: templates/pui_banner.html:15 +msgid "Try it out now" +msgstr "" + +#: templates/pui_banner.html:15 +msgid "here" +msgstr "" + #: templates/qr_code.html:11 msgid "QR data not provided" msgstr "" diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index c2b95c519c..f030cb0424 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-20 13:19+0000\n" +"POT-Creation-Date: 2024-04-23 01:51+0000\n" "PO-Revision-Date: 2023-02-28 22:38\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" @@ -426,7 +426,7 @@ msgstr "选择附件" #: InvenTree/models.py:567 common/models.py:3018 company/models.py:146 #: company/models.py:457 company/models.py:514 company/models.py:830 -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 #: part/admin.py:55 part/models.py:919 #: part/templates/part/part_scheduling.html:11 #: report/templates/report/inventree_build_order_base.html:164 @@ -503,7 +503,7 @@ msgid "Invalid choice" msgstr "选择无效" #: InvenTree/models.py:893 common/models.py:2706 common/models.py:3104 -#: common/serializers.py:370 company/models.py:613 label/models.py:120 +#: common/serializers.py:392 company/models.py:613 label/models.py:120 #: machine/models.py:24 part/models.py:855 part/models.py:3616 #: plugin/models.py:41 report/models.py:176 stock/models.py:76 #: templates/InvenTree/settings/mixins/urls.html:13 @@ -756,7 +756,7 @@ msgstr "已退回" msgid "In Progress" msgstr "" -#: InvenTree/status_codes.py:43 order/models.py:1564 +#: InvenTree/status_codes.py:43 order/models.py:1566 #: templates/js/translated/sales_order.js:1523 #: templates/js/translated/sales_order.js:1644 #: templates/js/translated/sales_order.js:1957 @@ -986,7 +986,7 @@ msgid "Build must be cancelled before it can be deleted" msgstr "在删除前必须取消生产" #: build/api.py:282 part/models.py:4047 templates/js/translated/bom.js:997 -#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2521 +#: templates/js/translated/bom.js:1037 templates/js/translated/build.js:2519 #: templates/js/translated/table_filters.js:190 #: templates/js/translated/table_filters.js:583 msgid "Consumable" @@ -994,7 +994,7 @@ msgstr "" #: build/api.py:283 part/models.py:4041 part/templates/part/upload_bom.html:58 #: templates/js/translated/bom.js:1001 templates/js/translated/bom.js:1028 -#: templates/js/translated/build.js:2530 +#: templates/js/translated/build.js:2528 #: templates/js/translated/table_filters.js:186 #: templates/js/translated/table_filters.js:215 #: templates/js/translated/table_filters.js:587 @@ -1007,7 +1007,7 @@ msgid "Tracked" msgstr "" #: build/api.py:286 part/admin.py:144 templates/js/translated/build.js:1741 -#: templates/js/translated/build.js:2630 +#: templates/js/translated/build.js:2628 #: templates/js/translated/sales_order.js:1929 #: templates/js/translated/table_filters.js:571 msgid "Allocated" @@ -1017,7 +1017,7 @@ msgstr "" #: company/templates/company/supplier_part.html:114 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 -#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2562 +#: templates/js/translated/bom.js:1162 templates/js/translated/build.js:2560 #: templates/js/translated/index.js:123 #: templates/js/translated/model_renderers.js:228 #: templates/js/translated/part.js:692 templates/js/translated/part.js:694 @@ -1066,14 +1066,14 @@ msgid "Build Order Reference" msgstr "相关生产订单" #: build/models.py:180 order/models.py:442 order/models.py:898 -#: order/models.py:1276 order/models.py:1996 part/admin.py:417 +#: order/models.py:1276 order/models.py:1998 part/admin.py:417 #: part/models.py:4062 part/templates/part/upload_bom.html:54 #: report/templates/report/inventree_bill_of_materials_report.html:139 #: report/templates/report/inventree_po_report_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:26 #: report/templates/report/inventree_so_report_base.html:28 #: templates/js/translated/bom.js:770 templates/js/translated/bom.js:973 -#: templates/js/translated/build.js:2513 templates/js/translated/order.js:291 +#: templates/js/translated/build.js:2511 templates/js/translated/order.js:291 #: templates/js/translated/pricing.js:386 #: templates/js/translated/purchase_order.js:2066 #: templates/js/translated/return_order.js:729 @@ -1098,7 +1098,7 @@ msgstr "此次生产匹配的订单" #: build/models.py:205 build/templates/build/build_base.html:97 #: build/templates/build/detail.html:29 company/models.py:1056 order/api.py:817 -#: order/models.py:1401 order/models.py:1544 order/models.py:1545 +#: order/models.py:1401 order/models.py:1546 order/models.py:1547 #: part/api.py:1547 part/api.py:1841 part/models.py:390 part/models.py:3004 #: part/models.py:3148 part/models.py:3292 part/models.py:3315 #: part/models.py:3336 part/models.py:3358 part/models.py:3468 @@ -1226,7 +1226,7 @@ msgstr "预计完成日期" msgid "Target date for build completion. Build will be overdue after this date." msgstr "生产完成的目标日期。生产将在此日期之后逾期。" -#: build/models.py:285 order/models.py:500 order/models.py:2041 +#: build/models.py:285 order/models.py:500 order/models.py:2043 #: templates/js/translated/build.js:2245 msgid "Completion Date" msgstr "完成日期:" @@ -1349,7 +1349,7 @@ msgstr "生产备注" #: build/models.py:1322 build/models.py:1578 build/serializers.py:210 #: build/serializers.py:247 build/templates/build/build_base.html:102 #: build/templates/build/detail.html:34 common/models.py:2516 -#: order/models.py:1259 order/models.py:1916 order/serializers.py:1335 +#: order/models.py:1259 order/models.py:1918 order/serializers.py:1335 #: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:416 #: part/forms.py:48 part/models.py:3162 part/models.py:4035 #: part/templates/part/part_pricing.html:16 @@ -1408,11 +1408,11 @@ msgstr "生产项必须指定生产产出,因为主部件已经被标记为可 msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" -#: build/models.py:1422 order/models.py:1867 +#: build/models.py:1422 order/models.py:1869 msgid "Stock item is over-allocated" msgstr "库存物品分配过度!" -#: build/models.py:1428 order/models.py:1870 +#: build/models.py:1428 order/models.py:1872 msgid "Allocation quantity must be greater than zero" msgstr "分配数量必须大于0" @@ -1566,7 +1566,7 @@ msgstr "已完成生产产出的仓储地点" #: build/serializers.py:505 build/templates/build/build_base.html:151 #: build/templates/build/detail.html:62 order/models.py:922 -#: order/models.py:2020 order/serializers.py:593 stock/admin.py:165 +#: order/models.py:2022 order/serializers.py:593 stock/admin.py:165 #: stock/serializers.py:801 stock/serializers.py:1340 #: stock/templates/stock/item_base.html:427 #: templates/js/translated/barcode.js:252 templates/js/translated/build.js:2189 @@ -1748,14 +1748,14 @@ msgstr "" #: build/serializers.py:1111 part/admin.py:132 part/bom.py:173 #: part/serializers.py:817 part/serializers.py:1489 #: part/templates/part/part_base.html:210 templates/js/translated/bom.js:1208 -#: templates/js/translated/build.js:2614 templates/js/translated/part.js:709 +#: templates/js/translated/build.js:2612 templates/js/translated/part.js:709 #: templates/js/translated/part.js:2148 #: templates/js/translated/table_filters.js:170 msgid "On Order" msgstr "" #: build/serializers.py:1116 part/serializers.py:1491 -#: templates/js/translated/build.js:2618 +#: templates/js/translated/build.js:2616 #: templates/js/translated/table_filters.js:360 msgid "In Production" msgstr "正在生产" @@ -1931,8 +1931,8 @@ msgid "Completed Outputs" msgstr "已完成输出" #: build/templates/build/build_base.html:190 -#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1536 -#: order/models.py:1650 order/models.py:1804 +#: build/templates/build/detail.html:101 order/api.py:1507 order/models.py:1538 +#: order/models.py:1652 order/models.py:1806 #: order/templates/order/sales_order_base.html:9 #: order/templates/order/sales_order_base.html:28 #: report/templates/report/inventree_build_order_base.html:135 @@ -3691,7 +3691,7 @@ msgid "Price break quantity" msgstr "" #: common/models.py:2524 company/serializers.py:496 order/admin.py:42 -#: order/models.py:1333 order/models.py:2241 +#: order/models.py:1333 order/models.py:2243 #: templates/js/translated/company.js:1823 templates/js/translated/part.js:1885 #: templates/js/translated/pricing.js:621 #: templates/js/translated/return_order.js:741 @@ -3904,77 +3904,77 @@ msgstr "收到定购单" msgid "Error raised by plugin" msgstr "" -#: common/serializers.py:333 +#: common/serializers.py:355 msgid "Is Running" msgstr "" -#: common/serializers.py:339 +#: common/serializers.py:361 #, fuzzy #| msgid "Pending" msgid "Pending Tasks" msgstr "待定" -#: common/serializers.py:345 +#: common/serializers.py:367 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:351 +#: common/serializers.py:373 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Task ID" msgstr "" -#: common/serializers.py:366 +#: common/serializers.py:388 msgid "Unique task ID" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 msgid "Lock" msgstr "" -#: common/serializers.py:368 +#: common/serializers.py:390 #, fuzzy #| msgid "Stock Item" msgid "Lock time" msgstr "库存项" -#: common/serializers.py:370 +#: common/serializers.py:392 #, fuzzy #| msgid "Part name" msgid "Task name" msgstr "商品名称" -#: common/serializers.py:372 +#: common/serializers.py:394 #, fuzzy #| msgid "Production" msgid "Function" msgstr "生产中" -#: common/serializers.py:372 +#: common/serializers.py:394 #, fuzzy #| msgid "Part name" msgid "Function name" msgstr "商品名称" -#: common/serializers.py:374 +#: common/serializers.py:396 #, fuzzy #| msgid "Attachments" msgid "Arguments" msgstr "附件" -#: common/serializers.py:374 +#: common/serializers.py:396 msgid "Task arguments" msgstr "" -#: common/serializers.py:377 +#: common/serializers.py:399 #, fuzzy #| msgid "Keywords" msgid "Keyword Arguments" msgstr "关键词" -#: common/serializers.py:377 +#: common/serializers.py:399 msgid "Task keyword arguments" msgstr "" @@ -4519,7 +4519,7 @@ msgid "Delete image" msgstr "" #: company/templates/company/company_base.html:92 order/models.py:910 -#: order/models.py:2008 order/templates/order/return_order_base.html:131 +#: order/models.py:2010 order/templates/order/return_order_base.html:131 #: order/templates/order/sales_order_base.html:144 stock/models.py:804 #: stock/models.py:805 stock/serializers.py:1100 #: stock/templates/stock/item_base.html:405 @@ -5170,9 +5170,9 @@ msgstr "" msgid "No matching purchase order found" msgstr "" -#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1489 -#: order/models.py:1535 order/models.py:1649 order/models.py:1803 -#: order/models.py:2207 order/models.py:2258 +#: order/api.py:433 order/api.py:813 order/models.py:1382 order/models.py:1491 +#: order/models.py:1537 order/models.py:1651 order/models.py:1805 +#: order/models.py:2209 order/models.py:2260 #: templates/js/translated/sales_order.js:1488 msgid "Order" msgstr "" @@ -5189,7 +5189,7 @@ msgstr "订单编码" msgid "Order Pending" msgstr "待定" -#: order/api.py:1505 order/models.py:1383 order/models.py:1490 +#: order/api.py:1505 order/models.py:1383 order/models.py:1492 #: order/templates/order/order_base.html:9 #: order/templates/order/order_base.html:18 #: report/templates/report/inventree_po_report_base.html:14 @@ -5203,7 +5203,7 @@ msgstr "待定" msgid "Purchase Order" msgstr "" -#: order/api.py:1509 order/models.py:2208 order/models.py:2259 +#: order/api.py:1509 order/models.py:2210 order/models.py:2261 #: order/templates/order/return_order_base.html:9 #: order/templates/order/return_order_base.html:28 #: report/templates/report/inventree_return_order_report_base.html:13 @@ -5248,7 +5248,7 @@ msgstr "描述 (可选)" msgid "Select project code for this order" msgstr "负责此订单的用户或群组" -#: order/models.py:291 order/models.py:1288 order/models.py:1702 +#: order/models.py:291 order/models.py:1288 order/models.py:1704 msgid "Link to external page" msgstr "" @@ -5301,15 +5301,15 @@ msgstr "" msgid "received by" msgstr "" -#: order/models.py:493 order/models.py:2034 +#: order/models.py:493 order/models.py:2036 msgid "Issue Date" msgstr "" -#: order/models.py:494 order/models.py:2035 +#: order/models.py:494 order/models.py:2037 msgid "Date order was issued" msgstr "" -#: order/models.py:501 order/models.py:2042 +#: order/models.py:501 order/models.py:2044 msgid "Date order was completed" msgstr "" @@ -5325,15 +5325,15 @@ msgstr "数量必须大于0" msgid "Company to which the items are being sold" msgstr "向其出售该商品的公司" -#: order/models.py:934 order/models.py:2027 +#: order/models.py:934 order/models.py:2029 msgid "Customer Reference " msgstr "" -#: order/models.py:935 order/models.py:2028 +#: order/models.py:935 order/models.py:2030 msgid "Customer order reference code" msgstr "" -#: order/models.py:939 order/models.py:1656 +#: order/models.py:939 order/models.py:1658 #: templates/js/translated/sales_order.js:843 #: templates/js/translated/sales_order.js:1024 msgid "Shipment Date" @@ -5435,173 +5435,173 @@ msgstr "" msgid "Where does the Purchaser want this item to be stored?" msgstr "" -#: order/models.py:1523 +#: order/models.py:1525 msgid "Virtual part cannot be assigned to a sales order" msgstr "" -#: order/models.py:1528 +#: order/models.py:1530 msgid "Only salable parts can be assigned to a sales order" msgstr "" -#: order/models.py:1554 part/templates/part/part_pricing.html:107 +#: order/models.py:1556 part/templates/part/part_pricing.html:107 #: part/templates/part/prices.html:139 templates/js/translated/pricing.js:957 msgid "Sale Price" msgstr "销售价格" -#: order/models.py:1555 +#: order/models.py:1557 msgid "Unit sale price" msgstr "" -#: order/models.py:1565 +#: order/models.py:1567 msgid "Shipped quantity" msgstr "" -#: order/models.py:1657 +#: order/models.py:1659 msgid "Date of shipment" msgstr "" -#: order/models.py:1663 templates/js/translated/sales_order.js:1036 +#: order/models.py:1665 templates/js/translated/sales_order.js:1036 msgid "Delivery Date" msgstr "" -#: order/models.py:1664 +#: order/models.py:1666 msgid "Date of delivery of shipment" msgstr "" -#: order/models.py:1672 +#: order/models.py:1674 msgid "Checked By" msgstr "" -#: order/models.py:1673 +#: order/models.py:1675 msgid "User who checked this shipment" msgstr "" -#: order/models.py:1680 order/models.py:1893 order/serializers.py:1350 +#: order/models.py:1682 order/models.py:1895 order/serializers.py:1350 #: order/serializers.py:1460 templates/js/translated/model_renderers.js:448 msgid "Shipment" msgstr "" -#: order/models.py:1681 +#: order/models.py:1683 msgid "Shipment number" msgstr "" -#: order/models.py:1689 +#: order/models.py:1691 msgid "Tracking Number" msgstr "" -#: order/models.py:1690 +#: order/models.py:1692 msgid "Shipment tracking information" msgstr "" -#: order/models.py:1697 +#: order/models.py:1699 msgid "Invoice Number" msgstr "" -#: order/models.py:1698 +#: order/models.py:1700 msgid "Reference number for associated invoice" msgstr "" -#: order/models.py:1718 +#: order/models.py:1720 msgid "Shipment has already been sent" msgstr "" -#: order/models.py:1721 +#: order/models.py:1723 msgid "Shipment has no allocated stock items" msgstr "" -#: order/models.py:1839 order/models.py:1841 +#: order/models.py:1841 order/models.py:1843 msgid "Stock item has not been assigned" msgstr "" -#: order/models.py:1848 +#: order/models.py:1850 msgid "Cannot allocate stock item to a line with a different part" msgstr "" -#: order/models.py:1851 +#: order/models.py:1853 msgid "Cannot allocate stock to a line without a part" msgstr "" -#: order/models.py:1854 +#: order/models.py:1856 msgid "Allocation quantity cannot exceed stock quantity" msgstr "" -#: order/models.py:1873 order/serializers.py:1227 +#: order/models.py:1875 order/serializers.py:1227 msgid "Quantity must be 1 for serialized stock item" msgstr "" -#: order/models.py:1876 +#: order/models.py:1878 msgid "Sales order does not match shipment" msgstr "" -#: order/models.py:1877 plugin/base/barcodes/api.py:481 +#: order/models.py:1879 plugin/base/barcodes/api.py:481 msgid "Shipment does not match sales order" msgstr "" -#: order/models.py:1885 +#: order/models.py:1887 msgid "Line" msgstr "" -#: order/models.py:1894 +#: order/models.py:1896 msgid "Sales order shipment reference" msgstr "" -#: order/models.py:1907 order/models.py:2215 +#: order/models.py:1909 order/models.py:2217 #: templates/js/translated/return_order.js:722 msgid "Item" msgstr "" -#: order/models.py:1908 +#: order/models.py:1910 msgid "Select stock item to allocate" msgstr "" -#: order/models.py:1917 +#: order/models.py:1919 msgid "Enter stock allocation quantity" msgstr "" -#: order/models.py:1997 +#: order/models.py:1999 #, fuzzy #| msgid "Build Order Reference" msgid "Return Order reference" msgstr "相关生产订单" -#: order/models.py:2009 +#: order/models.py:2011 #, fuzzy #| msgid "Company from which the items are being ordered" msgid "Company from which items are being returned" msgstr "订购该商品的公司" -#: order/models.py:2021 +#: order/models.py:2023 msgid "Return order status" msgstr "" -#: order/models.py:2200 +#: order/models.py:2202 msgid "Only serialized items can be assigned to a Return Order" msgstr "" -#: order/models.py:2216 +#: order/models.py:2218 #, fuzzy #| msgid "Returned from customer" msgid "Select item to return from customer" msgstr "从客户退货" -#: order/models.py:2222 +#: order/models.py:2224 msgid "Received Date" msgstr "" -#: order/models.py:2223 +#: order/models.py:2225 msgid "The date this this return item was received" msgstr "" -#: order/models.py:2234 templates/js/translated/return_order.js:733 +#: order/models.py:2236 templates/js/translated/return_order.js:733 #: templates/js/translated/table_filters.js:123 msgid "Outcome" msgstr "" -#: order/models.py:2235 +#: order/models.py:2237 msgid "Outcome for this line item" msgstr "" -#: order/models.py:2242 +#: order/models.py:2244 msgid "Cost associated with return or repair for this line item" msgstr "" @@ -8282,7 +8282,7 @@ msgstr "" msgid "Stock item does not match line item" msgstr "在BOM中找不到选定的库存项" -#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2590 +#: plugin/base/barcodes/api.py:550 templates/js/translated/build.js:2588 #: templates/js/translated/sales_order.js:1917 msgid "Insufficient stock available" msgstr "" @@ -11417,7 +11417,7 @@ msgid "The following parts are low on required stock" msgstr "" #: templates/email/build_order_required_stock.html:18 -#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2557 +#: templates/js/translated/bom.js:1674 templates/js/translated/build.js:2555 msgid "Required Quantity" msgstr "" @@ -11794,7 +11794,7 @@ msgstr "" msgid "Substitutes Available" msgstr "" -#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2501 +#: templates/js/translated/bom.js:950 templates/js/translated/build.js:2499 msgid "Variant stock allowed" msgstr "" @@ -11814,32 +11814,32 @@ msgstr "" msgid "No pricing available" msgstr "" -#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2622 +#: templates/js/translated/bom.js:1184 templates/js/translated/build.js:2620 #, fuzzy #| msgid "External Link" msgid "External stock" msgstr "外部链接" -#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2596 +#: templates/js/translated/bom.js:1188 templates/js/translated/build.js:2594 #: templates/js/translated/sales_order.js:1910 msgid "No Stock Available" msgstr "" -#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2600 +#: templates/js/translated/bom.js:1193 templates/js/translated/build.js:2598 msgid "Includes variant and substitute stock" msgstr "" -#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2602 +#: templates/js/translated/bom.js:1195 templates/js/translated/build.js:2600 #: templates/js/translated/part.js:1256 #: templates/js/translated/sales_order.js:1907 msgid "Includes variant stock" msgstr "" -#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2604 +#: templates/js/translated/bom.js:1197 templates/js/translated/build.js:2602 msgid "Includes substitute stock" msgstr "" -#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2587 +#: templates/js/translated/bom.js:1225 templates/js/translated/build.js:2585 msgid "Consumable item" msgstr "" @@ -11871,7 +11871,7 @@ msgstr "" msgid "No BOM items found" msgstr "" -#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2486 +#: templates/js/translated/bom.js:1657 templates/js/translated/build.js:2484 msgid "Required Part" msgstr "" @@ -12191,7 +12191,7 @@ msgstr "" msgid "No builds matching query" msgstr "" -#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2480 +#: templates/js/translated/build.js:2115 templates/js/translated/build.js:2478 #: templates/js/translated/forms.js:2155 templates/js/translated/forms.js:2171 #: templates/js/translated/part.js:2316 templates/js/translated/part.js:2742 #: templates/js/translated/stock.js:1982 templates/js/translated/stock.js:2710 @@ -12228,41 +12228,41 @@ msgstr "" msgid "Remove Allocation" msgstr "" -#: templates/js/translated/build.js:2456 +#: templates/js/translated/build.js:2454 #, fuzzy #| msgid "Build actions" msgid "build line" msgstr "生产操作" -#: templates/js/translated/build.js:2457 +#: templates/js/translated/build.js:2455 #, fuzzy #| msgid "Build actions" msgid "build lines" msgstr "生产操作" -#: templates/js/translated/build.js:2475 +#: templates/js/translated/build.js:2473 #, fuzzy #| msgid "Subcategories" msgid "No build lines found" msgstr "子类别" -#: templates/js/translated/build.js:2505 templates/js/translated/part.js:790 +#: templates/js/translated/build.js:2503 templates/js/translated/part.js:790 #: templates/js/translated/part.js:1202 msgid "Trackable part" msgstr "可追溯商品" -#: templates/js/translated/build.js:2540 +#: templates/js/translated/build.js:2538 #, fuzzy #| msgid "Quantity" msgid "Unit Quantity" msgstr "数量" -#: templates/js/translated/build.js:2592 +#: templates/js/translated/build.js:2590 #: templates/js/translated/sales_order.js:1915 msgid "Sufficient stock available" msgstr "" -#: templates/js/translated/build.js:2647 +#: templates/js/translated/build.js:2645 #, fuzzy #| msgid "Minimum Stock" msgid "Consumable Item" @@ -12274,21 +12274,25 @@ msgstr "最低库存" msgid "Tracked item" msgstr "库存项" -#: templates/js/translated/build.js:2659 +#: templates/js/translated/build.js:2653 +msgid "Allocate tracked items against individual build outputs" +msgstr "" + +#: templates/js/translated/build.js:2661 #: templates/js/translated/sales_order.js:2016 msgid "Build stock" msgstr "" -#: templates/js/translated/build.js:2664 templates/js/translated/stock.js:1865 +#: templates/js/translated/build.js:2666 templates/js/translated/stock.js:1865 msgid "Order stock" msgstr "" -#: templates/js/translated/build.js:2668 +#: templates/js/translated/build.js:2670 #: templates/js/translated/sales_order.js:2010 msgid "Allocate stock" msgstr "" -#: templates/js/translated/build.js:2672 +#: templates/js/translated/build.js:2674 #, fuzzy #| msgid "Confirm stock allocation" msgid "Remove stock allocation" diff --git a/src/backend/InvenTree/machine/test_api.py b/src/backend/InvenTree/machine/test_api.py index f67b48d005..1a2e40a517 100644 --- a/src/backend/InvenTree/machine/test_api.py +++ b/src/backend/InvenTree/machine/test_api.py @@ -80,15 +80,18 @@ class MachineAPITest(TestMachineRegistryMixin, InvenTreeAPITestCase): machine_type = [t for t in response.data if t['slug'] == 'label-printer'] self.assertEqual(len(machine_type), 1) machine_type = machine_type[0] - self.assertDictContainsSubset( - { - 'slug': 'label-printer', - 'name': 'Label Printer', - 'description': 'Directly print labels for various items.', - 'provider_plugin': None, - 'is_builtin': True, - }, + self.assertEqual( machine_type, + { + **machine_type, + **{ + 'slug': 'label-printer', + 'name': 'Label Printer', + 'description': 'Directly print labels for various items.', + 'provider_plugin': None, + 'is_builtin': True, + }, + }, ) self.assertTrue( machine_type['provider_file'].endswith( @@ -102,17 +105,20 @@ class MachineAPITest(TestMachineRegistryMixin, InvenTreeAPITestCase): driver = [a for a in response.data if a['slug'] == 'test-label-printer-api'] self.assertEqual(len(driver), 1) driver = driver[0] - self.assertDictContainsSubset( - { - 'slug': 'test-label-printer-api', - 'name': 'Test label printer', - 'description': 'This is a test label printer driver for testing.', - 'provider_plugin': None, - 'is_builtin': True, - 'machine_type': 'label-printer', - 'driver_errors': [], - }, + self.assertEqual( driver, + { + **driver, + **{ + 'slug': 'test-label-printer-api', + 'name': 'Test label printer', + 'description': 'This is a test label printer driver for testing.', + 'provider_plugin': None, + 'is_builtin': True, + 'machine_type': 'label-printer', + 'driver_errors': [], + }, + }, ) self.assertEqual(driver['provider_file'], __file__) @@ -163,19 +169,22 @@ class MachineAPITest(TestMachineRegistryMixin, InvenTreeAPITestCase): response = self.get(reverse('api-machine-list')) self.assertEqual(len(response.data), 1) - self.assertDictContainsSubset( - { - 'name': 'Test Machine', - 'machine_type': 'label-printer', - 'driver': 'test-label-printer-api', - 'initialized': True, - 'active': True, - 'status': 101, - 'status_model': 'LabelPrinterStatus', - 'status_text': '', - 'is_driver_available': True, - }, + self.assertEqual( response.data[0], + { + **response.data[0], + **{ + 'name': 'Test Machine', + 'machine_type': 'label-printer', + 'driver': 'test-label-printer-api', + 'initialized': True, + 'active': True, + 'status': 101, + 'status_model': 'LabelPrinterStatus', + 'status_text': '', + 'is_driver_available': True, + }, + }, ) def test_machine_detail(self): @@ -195,19 +204,21 @@ class MachineAPITest(TestMachineRegistryMixin, InvenTreeAPITestCase): # Create a machine response = self.post(reverse('api-machine-list'), machine_data) - self.assertDictContainsSubset(machine_data, response.data) + self.assertEqual(response.data, {**response.data, **machine_data}) pk = response.data['pk'] # Retrieve the machine response = self.get(reverse('api-machine-detail', kwargs={'pk': pk})) - self.assertDictContainsSubset(machine_data, response.data) + self.assertEqual(response.data, {**response.data, **machine_data}) # Update the machine response = self.patch( reverse('api-machine-detail', kwargs={'pk': pk}), {'name': 'Updated Machine'}, ) - self.assertDictContainsSubset({'name': 'Updated Machine'}, response.data) + self.assertEqual( + response.data, {**response.data, **{'name': 'Updated Machine'}} + ) self.assertEqual(MachineConfig.objects.get(pk=pk).name, 'Updated Machine') # Delete the machine diff --git a/src/backend/InvenTree/order/test_api.py b/src/backend/InvenTree/order/test_api.py index d9f63d67c0..fb59f8b446 100644 --- a/src/backend/InvenTree/order/test_api.py +++ b/src/backend/InvenTree/order/test_api.py @@ -418,7 +418,7 @@ class PurchaseOrderTest(OrderTest): po = models.PurchaseOrder.objects.get(pk=1) - self.assertTrue(po.lines.count() > 0) + self.assertGreater(po.lines.count(), 0) lines = [] @@ -839,7 +839,7 @@ class PurchaseOrderDownloadTest(OrderTest): expected_code=200, expected_fn='InvenTree_PurchaseOrderItems.xlsx', ) as file: - self.assertTrue(isinstance(file, io.BytesIO)) + self.assertIsInstance(file, io.BytesIO) class PurchaseOrderReceiveTest(OrderTest): @@ -1570,7 +1570,7 @@ class SalesOrderDownloadTest(OrderTest): expected_fn='InvenTree_SalesOrders.xls', decode=False, ) as file: - self.assertTrue(isinstance(file, io.BytesIO)) + self.assertIsInstance(file, io.BytesIO) def test_download_csv(self): """Test that the list of sales orders can be downloaded as a .csv file.""" @@ -1772,7 +1772,7 @@ class SalesOrderAllocateTest(OrderTest): # At least one item should be allocated, and all should be variants self.assertGreater(self.order.stock_allocations.count(), 0) for allocation in self.order.stock_allocations.all(): - self.assertNotEquals(allocation.item.part.pk, allocation.line.part.pk) + self.assertNotEqual(allocation.item.part.pk, allocation.line.part.pk) def test_shipment_complete(self): """Test that we can complete a shipment via the API.""" diff --git a/src/backend/InvenTree/part/test_api.py b/src/backend/InvenTree/part/test_api.py index 9459ee3bae..f65d06a425 100644 --- a/src/backend/InvenTree/part/test_api.py +++ b/src/backend/InvenTree/part/test_api.py @@ -463,12 +463,12 @@ class PartCategoryAPITest(InvenTreeAPITestCase): response = self.get(url, {'path_detail': False}, expected_code=200) # Check that the path detail information is not included - self.assertFalse('path' in response.data.keys()) + self.assertNotIn('path', response.data.keys()) # Now, request *with* path detail response = self.get(url, {'path_detail': True}, expected_code=200) - self.assertTrue('path' in response.data.keys()) + self.assertIn('path', response.data.keys()) path = response.data['path'] @@ -520,7 +520,7 @@ class PartOptionsAPITest(InvenTreeAPITestCase): # Check that a bunch o' fields are contained for f in ['assembly', 'component', 'description', 'image', 'IPN']: - self.assertTrue(f in actions.keys()) + self.assertIn(f, actions.keys()) # Active is a 'boolean' field active = actions['active'] @@ -553,7 +553,7 @@ class PartOptionsAPITest(InvenTreeAPITestCase): actions = self.getActions(reverse('api-part-category-list')) # actions should *not* contain 'POST' as we do not have the correct role - self.assertFalse('POST' in actions) + self.assertNotIn('POST', actions) self.assignRole('part_category.add') @@ -1055,8 +1055,8 @@ class PartAPITest(PartAPITestBase): # Filter by creation date response = self.get(url, {'created_before': '2019-01-01'}, expected_code=200) - self.assertTrue(len(response.data) < n) - self.assertTrue(len(response.data) > 0) + self.assertLess(len(response.data), n) + self.assertGreater(len(response.data), 0) for item in response.data: self.assertIsNotNone(item['creation_date']) @@ -1066,8 +1066,8 @@ class PartAPITest(PartAPITestBase): response = self.get(url, {'created_after': '2019-01-01'}, expected_code=200) - self.assertTrue(len(response.data) < n) - self.assertTrue(len(response.data) > 0) + self.assertLess(len(response.data), n) + self.assertGreater(len(response.data), 0) for item in response.data: self.assertIsNotNone(item['creation_date']) @@ -2153,7 +2153,7 @@ class BomItemTest(InvenTreeAPITestCase): response = self.get(url, data={'validated': False}, expected_code=200) # There should be at least one non-validated item - self.assertTrue(len(response.data) > 0) + self.assertGreater(len(response.data), 0) # Now, let's validate an item bom_item = BomItem.objects.first() @@ -2169,7 +2169,7 @@ class BomItemTest(InvenTreeAPITestCase): # Each item in response should contain expected keys for el in response.data: for key in ['available_stock', 'available_substitute_stock']: - self.assertTrue(key in el) + self.assertIn(key, el) def test_bom_list_search(self): """Test that we can search the BOM list API endpoint.""" @@ -2208,7 +2208,7 @@ class BomItemTest(InvenTreeAPITestCase): q1 = response.data[0]['quantity'] q2 = response.data[-1]['quantity'] - self.assertTrue(q1 < q2) + self.assertLess(q1, q2) # Order by decreasing quantity response = self.get(f'{url}?ordering=-quantity', expected_code=200) @@ -2255,7 +2255,7 @@ class BomItemTest(InvenTreeAPITestCase): ] for key in expected_values: - self.assertTrue(key in response.data) + self.assertIn(key, response.data) self.assertEqual(int(float(response.data['quantity'])), 25) diff --git a/src/backend/InvenTree/part/test_category.py b/src/backend/InvenTree/part/test_category.py index d3e89994ab..34308bf285 100644 --- a/src/backend/InvenTree/part/test_category.py +++ b/src/backend/InvenTree/part/test_category.py @@ -117,7 +117,7 @@ class CategoryTest(TestCase): child.pathstring, 'Cat/AAAAAAAAAA/BBBBBBBBBB/CCCCCCCCCC/DDDDDDDDDD/EEEEEEEEEE/FFFFFFFFFF/GGGGGGGGGG/HHHHHHHHHH/IIIIIIIIII/JJJJJJJJJJ/KKKKKKKKK...OO/PPPPPPPPPP/QQQQQQQQQQ/RRRRRRRRRR/SSSSSSSSSS/TTTTTTTTTT/UUUUUUUUUU/VVVVVVVVVV/WWWWWWWWWW/XXXXXXXXXX/YYYYYYYYYY/ZZZZZZZZZZ', ) - self.assertTrue(len(child.pathstring) <= 250) + self.assertLessEqual(len(child.pathstring), 250) # Attempt an invalid move with self.assertRaises(ValidationError): @@ -325,7 +325,7 @@ class CategoryTest(TestCase): self.assertEqual(descendants.count(), 3) for loc in [C11, C12, C13]: - self.assertTrue(loc in descendants) + self.assertIn(loc, descendants) # Check category C1x, should be B1 -> C1x for loc in [C11, C12, C13]: diff --git a/src/backend/InvenTree/plugin/base/integration/test_mixins.py b/src/backend/InvenTree/plugin/base/integration/test_mixins.py index 0cba7f5854..00f3d437c0 100644 --- a/src/backend/InvenTree/plugin/base/integration/test_mixins.py +++ b/src/backend/InvenTree/plugin/base/integration/test_mixins.py @@ -351,7 +351,7 @@ class PanelMixinTests(InvenTreeTestCase): """Test that the sample panel plugin is installed.""" plugins = registry.with_mixin('panel') - self.assertTrue(len(plugins) == 0) + self.assertEqual(len(plugins), 0) # Now enable the plugin registry.set_plugin_state('samplepanel', True) diff --git a/src/backend/InvenTree/plugin/base/label/test_label_mixin.py b/src/backend/InvenTree/plugin/base/label/test_label_mixin.py index 29b986af0c..3fa1409687 100644 --- a/src/backend/InvenTree/plugin/base/label/test_label_mixin.py +++ b/src/backend/InvenTree/plugin/base/label/test_label_mixin.py @@ -196,7 +196,7 @@ class LabelMixinTests(InvenTreeAPITestCase): options = self.options( self.do_url(parts, plugin_ref, label), expected_code=200 ).json() - self.assertTrue('amount' in options['actions']['POST']) + self.assertIn('amount', options['actions']['POST']) plg = registry.get_plugin(plugin_ref) with mock.patch.object(plg, 'print_label') as print_label: @@ -206,7 +206,7 @@ class LabelMixinTests(InvenTreeAPITestCase): data={'amount': '-no-valid-int-'}, expected_code=400, ).json() - self.assertTrue('amount' in res) + self.assertIn('amount', res) print_label.assert_not_called() # correct value type diff --git a/src/backend/InvenTree/plugin/base/locate/test_locate.py b/src/backend/InvenTree/plugin/base/locate/test_locate.py index 4bc152d71c..e03070a411 100644 --- a/src/backend/InvenTree/plugin/base/locate/test_locate.py +++ b/src/backend/InvenTree/plugin/base/locate/test_locate.py @@ -26,9 +26,9 @@ class LocatePluginTests(InvenTreeAPITestCase): """Test that a locate plugin is actually installed.""" plugins = registry.with_mixin('locate') - self.assertTrue(len(plugins) > 0) + self.assertGreater(len(plugins), 0) - self.assertTrue('samplelocate' in [p.slug for p in plugins]) + self.assertIn('samplelocate', [p.slug for p in plugins]) def test_locate_fail(self): """Test various API failure modes.""" diff --git a/src/backend/InvenTree/plugin/helpers.py b/src/backend/InvenTree/plugin/helpers.py index bd287bcdd8..6e8425ad5a 100644 --- a/src/backend/InvenTree/plugin/helpers.py +++ b/src/backend/InvenTree/plugin/helpers.py @@ -5,14 +5,16 @@ import logging import os import pathlib import pkgutil +import sys import sysconfig import traceback from importlib.metadata import entry_points +from importlib.util import module_from_spec from django import template from django.conf import settings from django.core.exceptions import AppRegistryNotReady -from django.db.utils import IntegrityError, OperationalError, ProgrammingError +from django.db.utils import IntegrityError logger = logging.getLogger('inventree') @@ -110,7 +112,10 @@ def handle_error(error, do_raise: bool = True, do_log: bool = True, log_name: st def get_entrypoints(): """Returns list for entrypoints for InvenTree plugins.""" - return entry_points().get('inventree_plugins', []) + # on python before 3.12, we need to use importlib_metadata + if sys.version_info < (3, 12): + return entry_points().get('inventree_plugins', []) + return entry_points(group='inventree_plugins') # endregion @@ -121,7 +126,8 @@ def get_git_log(path): """Get dict with info of the last commit to file named in path.""" import datetime - from dulwich.repo import NotGitRepository, Repo + from dulwich.errors import NotGitRepository + from dulwich.repo import Repo from InvenTree.ready import isInTestMode @@ -175,9 +181,15 @@ def get_modules(pkg, path=None): elif type(path) is not list: path = [path] - for loader, name, _ in pkgutil.walk_packages(path): + for finder, name, _ in pkgutil.walk_packages(path): try: - module = loader.find_module(name).load_module(name) + if sys.version_info < (3, 12): + module = finder.find_module(name).load_module(name) + else: + spec = finder.find_spec(name) + module = module_from_spec(spec) + sys.modules[name] = module + spec.loader.exec_module(module) pkg_names = getattr(module, '__all__', None) for k, v in vars(module).items(): if not k.startswith('_') and (pkg_names is None or k in pkg_names): diff --git a/src/backend/InvenTree/plugin/registry.py b/src/backend/InvenTree/plugin/registry.py index d56ce885ed..15f01bd127 100644 --- a/src/backend/InvenTree/plugin/registry.py +++ b/src/backend/InvenTree/plugin/registry.py @@ -4,12 +4,15 @@ - Manages setup and teardown of plugin class instances """ -import imp import importlib +import importlib.machinery +import importlib.util import logging import os +import sys import time from collections import OrderedDict +from importlib.machinery import SourceFileLoader from pathlib import Path from threading import Lock from typing import Any @@ -411,9 +414,15 @@ class PluginsRegistry: # Gather Modules if parent_path: - raw_module = imp.load_source( - plugin, str(parent_obj.joinpath('__init__.py')) - ) + # On python 3.12 use new loader method + if sys.version_info < (3, 12): + raw_module = _load_source( + plugin, str(parent_obj.joinpath('__init__.py')) + ) + else: + raw_module = SourceFileLoader( + plugin, str(parent_obj.joinpath('__init__.py')) + ).load_module() else: raw_module = importlib.import_module(plugin) modules = get_plugins(raw_module, InvenTreePlugin, path=parent_path) @@ -830,3 +839,18 @@ registry: PluginsRegistry = PluginsRegistry() def call_function(plugin_name, function_name, *args, **kwargs): """Global helper function to call a specific member function of a plugin.""" return registry.call_plugin_function(plugin_name, function_name, *args, **kwargs) + + +def _load_source(modname, filename): + """Helper function to replace deprecated & removed imp.load_source. + + See https://docs.python.org/3/whatsnew/3.12.html#imp + """ + loader = importlib.machinery.SourceFileLoader(modname, filename) + spec = importlib.util.spec_from_file_location(modname, filename, loader=loader) + module = importlib.util.module_from_spec(spec) + # The module is always executed and not cached in sys.modules. + # Uncomment the following line to cache the module. + # sys.modules[module.__name__] = module + loader.exec_module(module) + return module diff --git a/src/backend/InvenTree/plugin/test_api.py b/src/backend/InvenTree/plugin/test_api.py index b66282f21b..51c2d56037 100644 --- a/src/backend/InvenTree/plugin/test_api.py +++ b/src/backend/InvenTree/plugin/test_api.py @@ -196,8 +196,9 @@ class PluginDetailAPITest(PluginMixin, InvenTreeAPITestCase): mixin_dict = plg.mixins() self.assertIn('base', mixin_dict) - self.assertDictContainsSubset( - {'base': {'key': 'base', 'human_name': 'base'}}, mixin_dict + self.assertEqual( + mixin_dict, + {**mixin_dict, **{'base': {'key': 'base', 'human_name': 'base'}}}, ) # check reload on save diff --git a/src/backend/InvenTree/plugin/test_helpers.py b/src/backend/InvenTree/plugin/test_helpers.py index 4a32c02fb9..95cff3ea95 100644 --- a/src/backend/InvenTree/plugin/test_helpers.py +++ b/src/backend/InvenTree/plugin/test_helpers.py @@ -22,5 +22,5 @@ class HelperTests(TestCase): response = render_template( ErrorSource(), 'sample/wrongsample.html', {'abc': 123} ) - self.assertTrue('lert alert-block alert-danger' in response) - self.assertTrue('Template file sample/wrongsample.html' in response) + self.assertIn('lert alert-block alert-danger', response) + self.assertIn('Template file sample/wrongsample.html', response) diff --git a/src/backend/InvenTree/plugin/test_plugin.py b/src/backend/InvenTree/plugin/test_plugin.py index 557a86b75a..cff4373975 100644 --- a/src/backend/InvenTree/plugin/test_plugin.py +++ b/src/backend/InvenTree/plugin/test_plugin.py @@ -275,13 +275,13 @@ class RegistryTests(TestCase): self.assertEqual(len(registry.errors), 3) # There should be at least one discovery error in the module `broken_file` - self.assertTrue(len(registry.errors.get('discovery')) > 0) + self.assertGreater(len(registry.errors.get('discovery')), 0) self.assertEqual( registry.errors.get('discovery')[0]['broken_file'], "name 'bb' is not defined", ) # There should be at least one load error with an intentional KeyError - self.assertTrue(len(registry.errors.get('load')) > 0) + self.assertGreater(len(registry.errors.get('load')), 0) self.assertEqual( registry.errors.get('load')[0]['broken_sample'], "'This is a dummy error'" ) diff --git a/src/backend/InvenTree/report/tests.py b/src/backend/InvenTree/report/tests.py index e44d19b467..4d40a2c460 100644 --- a/src/backend/InvenTree/report/tests.py +++ b/src/backend/InvenTree/report/tests.py @@ -194,19 +194,19 @@ class BarcodeTagTest(TestCase): """Test the barcode generation tag.""" barcode = barcode_tags.barcode('12345') - self.assertTrue(isinstance(barcode, str)) + self.assertIsInstance(barcode, str) self.assertTrue(barcode.startswith('data:image/png;')) # Try with a different format barcode = barcode_tags.barcode('99999', format='BMP') - self.assertTrue(isinstance(barcode, str)) + self.assertIsInstance(barcode, str) self.assertTrue(barcode.startswith('data:image/bmp;')) def test_qrcode(self): """Test the qrcode generation tag.""" # Test with default settings qrcode = barcode_tags.qrcode('hello world') - self.assertTrue(isinstance(qrcode, str)) + self.assertIsInstance(qrcode, str) self.assertTrue(qrcode.startswith('data:image/png;')) self.assertEqual(len(qrcode), 700) @@ -214,7 +214,7 @@ class BarcodeTagTest(TestCase): qrcode = barcode_tags.qrcode( 'hello_world', version=2, box_size=50, format='BMP' ) - self.assertTrue(isinstance(qrcode, str)) + self.assertIsInstance(qrcode, str) self.assertTrue(qrcode.startswith('data:image/bmp;')) self.assertEqual(len(qrcode), 309720) diff --git a/src/backend/InvenTree/stock/test_api.py b/src/backend/InvenTree/stock/test_api.py index 88fe7bb0c0..eff284ad89 100644 --- a/src/backend/InvenTree/stock/test_api.py +++ b/src/backend/InvenTree/stock/test_api.py @@ -552,7 +552,7 @@ class StockItemListTest(StockAPITestCase): response = self.get( self.list_url, {'location': 'null', 'cascade': False}, expected_code=200 ) - self.assertTrue(len(response.data) < StockItem.objects.count()) + self.assertLess(len(response.data), StockItem.objects.count()) # Filter with "cascade=True" response = self.get( @@ -662,10 +662,10 @@ class StockItemListTest(StockAPITestCase): self.assertEqual(n_stock_items, len(with_batch) + len(without_batch)) for item in with_batch: - self.assertFalse(item['batch'] in [None, '']) + self.assertNotIn(item['batch'], [None, '']) for item in without_batch: - self.assertTrue(item['batch'] in [None, '']) + self.assertIn(item['batch'], [None, '']) def test_filter_by_tracked(self): """Test the 'tracked' filter. @@ -746,9 +746,7 @@ class StockItemListTest(StockAPITestCase): self.assertEqual(response.status_code, 200) - self.assertTrue( - isinstance(response, django.http.response.StreamingHttpResponse) - ) + self.assertIsInstance(response, django.http.response.StreamingHttpResponse) file_object = io.StringIO(response.getvalue().decode('utf-8')) @@ -1132,7 +1130,7 @@ class StockItemTest(StockAPITestCase): # Check that each serial number was created for i in range(1, 11): - self.assertTrue(str(i) in sn) + self.assertIn(str(i), sn) # Check the unique stock item has been created diff --git a/src/backend/InvenTree/templates/InvenTree/settings/global.html b/src/backend/InvenTree/templates/InvenTree/settings/global.html index d532bc5727..983700591d 100644 --- a/src/backend/InvenTree/templates/InvenTree/settings/global.html +++ b/src/backend/InvenTree/templates/InvenTree/settings/global.html @@ -10,6 +10,8 @@ {% block content %} +{% include "pui_banner.html" with mode='admin' %} + {% include "InvenTree/settings/setting.html" with key="INVENTREE_COMPANY_NAME" icon="fa-building" %} diff --git a/src/backend/InvenTree/templates/InvenTree/settings/login.html b/src/backend/InvenTree/templates/InvenTree/settings/login.html index 2cdd7784f1..d2b557978c 100644 --- a/src/backend/InvenTree/templates/InvenTree/settings/login.html +++ b/src/backend/InvenTree/templates/InvenTree/settings/login.html @@ -16,6 +16,8 @@ {% endif %} +{% include "pui_banner.html" with mode='admin' %} +
{% include "InvenTree/settings/setting.html" with key="LOGIN_ENABLE_PWD_FORGOT" icon="fa-user-lock" %} diff --git a/src/backend/InvenTree/templates/InvenTree/settings/plugin.html b/src/backend/InvenTree/templates/InvenTree/settings/plugin.html index ea1cc4341a..f97c98795e 100644 --- a/src/backend/InvenTree/templates/InvenTree/settings/plugin.html +++ b/src/backend/InvenTree/templates/InvenTree/settings/plugin.html @@ -15,6 +15,8 @@ {% trans "Changing the settings below require you to immediately restart the server. Do not change this while under active usage." %} +{% include "pui_banner.html" with mode='admin' %} +
diff --git a/src/backend/InvenTree/templates/InvenTree/settings/report.html b/src/backend/InvenTree/templates/InvenTree/settings/report.html index 683625bd74..6622befc36 100644 --- a/src/backend/InvenTree/templates/InvenTree/settings/report.html +++ b/src/backend/InvenTree/templates/InvenTree/settings/report.html @@ -10,6 +10,8 @@ {% block content %} +{% include "pui_banner.html" with mode='admin' %} +
{% include "InvenTree/settings/setting.html" with key="REPORT_ENABLE" icon="fa-file-pdf" %} diff --git a/src/backend/InvenTree/templates/account/login.html b/src/backend/InvenTree/templates/account/login.html index b31b183b31..71b570a4d8 100644 --- a/src/backend/InvenTree/templates/account/login.html +++ b/src/backend/InvenTree/templates/account/login.html @@ -13,6 +13,8 @@ {% inventree_customize 'login_message' as login_message %} {% mail_configured as mail_conf %} +{% include "pui_banner.html" with mode='user' %} +

{% trans "Sign In" %}

{% include "spacer.html" %} diff --git a/src/backend/InvenTree/templates/pui_banner.html b/src/backend/InvenTree/templates/pui_banner.html new file mode 100644 index 0000000000..d6eb0746f3 --- /dev/null +++ b/src/backend/InvenTree/templates/pui_banner.html @@ -0,0 +1,17 @@ +{% load inventree_extras %} +{% load i18n %} + +{% inventree_customize 'hide_pui_banner' as hidden %} + +{% if not hidden %} +
+ {% if mode == 'admin' %} + {% trans "Platform UI - the new UI for InvenTree - provides more modern administration options." %} + {% endif %} + {% if mode == 'user' %} + {% trans "Platform UI - the new UI for InvenTree - is ready to be tested." %} + {% endif %} +
+ {% trans "Try it out now" %} {% trans "here" %}. +
+{% endif %} diff --git a/src/backend/InvenTree/users/tests.py b/src/backend/InvenTree/users/tests.py index 84f0cd1668..44ea1ac1e8 100644 --- a/src/backend/InvenTree/users/tests.py +++ b/src/backend/InvenTree/users/tests.py @@ -182,13 +182,13 @@ class OwnerModelTest(InvenTreeTestCase): # Get related owners (user + group) related_owners = group_as_owner.get_related_owners(include_group=True) - self.assertTrue(user_as_owner in related_owners) - self.assertTrue(group_as_owner in related_owners) + self.assertIn(user_as_owner, related_owners) + self.assertIn(group_as_owner, related_owners) # Get related owners (only user) related_owners = group_as_owner.get_related_owners(include_group=False) - self.assertTrue(user_as_owner in related_owners) - self.assertFalse(group_as_owner in related_owners) + self.assertIn(user_as_owner, related_owners) + self.assertNotIn(group_as_owner, related_owners) # Get related owners on user related_owners = user_as_owner.get_related_owners() diff --git a/src/backend/InvenTree/web/tests.py b/src/backend/InvenTree/web/tests.py index df13a20d30..d63fe112d0 100644 --- a/src/backend/InvenTree/web/tests.py +++ b/src/backend/InvenTree/web/tests.py @@ -18,10 +18,10 @@ class TemplateTagTest(InvenTreeTestCase): def assertSettings(self, settings_data): """Helper to test if needed args are in the settings.""" - self.assertTrue('debug' in settings_data) - self.assertTrue('server_list' in settings_data) - self.assertTrue('show_server_selector' in settings_data) - self.assertTrue('environment' in settings_data) + self.assertIn('debug', settings_data) + self.assertIn('server_list', settings_data) + self.assertIn('show_server_selector', settings_data) + self.assertIn('environment', settings_data) def test_spa_bundle(self): """Test the 'spa_bundle' template tag.""" @@ -32,8 +32,8 @@ class TemplateTagTest(InvenTreeTestCase): return # pragma: no cover shipped_js = resp.split('