mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-30 18:50:53 +00:00
Merge branch 'master' of https://github.com/inventree/InvenTree into matmair/issue6281
This commit is contained in:
.github/workflows
contrib/container
docs
src
backend
InvenTree
InvenTree
api.pyapi_version.pyapps.pyauth_overrides.pybackends.pycache.pyconversion.pyexceptions.pyexchange.pyhelpers.pyhelpers_email.pyhelpers_model.py
management
metadata.pymiddleware.pymodels.pysentry.pysettings.pysso.pystatus.pytasks.pytemplatetags
tests.pyurls.pybuild
common
importer
locale
ar
LC_MESSAGES
bg
LC_MESSAGES
cs
LC_MESSAGES
da
LC_MESSAGES
de
LC_MESSAGES
el
LC_MESSAGES
en
LC_MESSAGES
es
LC_MESSAGES
es_MX
LC_MESSAGES
et
LC_MESSAGES
fa
LC_MESSAGES
fi
LC_MESSAGES
fr
LC_MESSAGES
he
LC_MESSAGES
hi
LC_MESSAGES
hu
LC_MESSAGES
id
LC_MESSAGES
it
LC_MESSAGES
ja
LC_MESSAGES
ko
LC_MESSAGES
lt
LC_MESSAGES
lv
LC_MESSAGES
nl
LC_MESSAGES
no
LC_MESSAGES
pl
LC_MESSAGES
pt
LC_MESSAGES
pt_BR
LC_MESSAGES
ro
LC_MESSAGES
ru
LC_MESSAGES
sk
LC_MESSAGES
sl
LC_MESSAGES
sr
LC_MESSAGES
sv
LC_MESSAGES
th
LC_MESSAGES
tr
LC_MESSAGES
uk
LC_MESSAGES
vi
LC_MESSAGES
zh_Hans
LC_MESSAGES
zh_Hant
LC_MESSAGES
machine
order
part
plugin
apps.pystaticfiles.py
base
barcodes
event
icons
integration
label
locate
ui
builtin
helpers.pyinstaller.pymixins
plugin.pyregistry.pysamples
event
locate
report
stock
users
web
templatetags
frontend
playwright.config.ts
src
components
contexts
forms
hooks
locales
main.tsxpages
states
tables
ColumnRenderers.tsxFilter.tsxInvenTreeTable.tsxInvenTreeTableHeader.tsx
bom
build
general
machine
part
plugin
purchasing
sales
stock
views
tests
2
.github/workflows/docker.yaml
vendored
2
.github/workflows/docker.yaml
vendored
@ -85,6 +85,7 @@ jobs:
|
||||
id: test-docker
|
||||
run: |
|
||||
docker build . --target production --tag inventree-test -f contrib/container/Dockerfile
|
||||
docker run --rm inventree-test invoke version
|
||||
docker run --rm inventree-test invoke --version
|
||||
docker run --rm inventree-test invoke --list
|
||||
docker run --rm inventree-test gunicorn --version
|
||||
@ -100,6 +101,7 @@ jobs:
|
||||
- name: Update Docker Image
|
||||
run: |
|
||||
docker compose --project-directory . -f contrib/container/dev-docker-compose.yml run inventree-dev-server invoke install
|
||||
docker compose --project-directory . -f contrib/container/dev-docker-compose.yml run inventree-dev-server invoke version
|
||||
docker compose --project-directory . -f contrib/container/dev-docker-compose.yml run inventree-dev-server invoke update
|
||||
docker compose --project-directory . -f contrib/container/dev-docker-compose.yml run inventree-dev-server invoke dev.setup-dev
|
||||
docker compose --project-directory . -f contrib/container/dev-docker-compose.yml up -d
|
||||
|
@ -71,9 +71,7 @@
|
||||
reverse_proxy {$INVENTREE_SERVER:"http://inventree-server:8000"} {
|
||||
|
||||
# If you are running behind another proxy, you may need to specify 'trusted_proxies'
|
||||
trusted_proxies {
|
||||
# enter your trusted proxy IP addresses here
|
||||
}
|
||||
|
||||
# Ref: https://caddyserver.com/docs/json/apps/http/servers/trusted_proxies/
|
||||
# trusted_proxies ...
|
||||
}
|
||||
}
|
||||
|
@ -171,4 +171,4 @@ WORKDIR ${INVENTREE_HOME}
|
||||
ENTRYPOINT ["/bin/ash", "./contrib/container/init.sh"]
|
||||
|
||||
# Launch the development server
|
||||
CMD ["invoke", "server", "-a", "${INVENTREE_WEB_ADDR}:${INVENTREE_WEB_PORT}"]
|
||||
CMD ["invoke", "dev.server", "-a", "${INVENTREE_WEB_ADDR}:${INVENTREE_WEB_PORT}"]
|
||||
|
@ -40,14 +40,17 @@ if [[ -n "$INVENTREE_PY_ENV" ]]; then
|
||||
if test -d "$INVENTREE_PY_ENV"; then
|
||||
# venv already exists
|
||||
echo "Using Python virtual environment: ${INVENTREE_PY_ENV}"
|
||||
source ${INVENTREE_PY_ENV}/bin/activate
|
||||
else
|
||||
# Setup a virtual environment (within the "data/env" directory)
|
||||
# Setup a virtual environment (within the provided directory)
|
||||
echo "Running first time setup for python environment"
|
||||
python3 -m venv ${INVENTREE_PY_ENV} --system-site-packages --upgrade-deps
|
||||
|
||||
# Ensure invoke tool is installed locally
|
||||
source ${INVENTREE_PY_ENV}/bin/activate
|
||||
python3 -m pip install --ignore-installed --upgrade invoke
|
||||
fi
|
||||
|
||||
# Now activate the venv
|
||||
source ${INVENTREE_PY_ENV}/bin/activate
|
||||
fi
|
||||
|
||||
cd ${INVENTREE_HOME}
|
||||
|
BIN
docs/docs/assets/images/report/datamatrix.png
Normal file
BIN
docs/docs/assets/images/report/datamatrix.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 5.7 KiB |
BIN
docs/docs/assets/images/report/qrcode.png
Normal file
BIN
docs/docs/assets/images/report/qrcode.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 6.3 KiB |
@ -1,77 +0,0 @@
|
||||
---
|
||||
title: Credits
|
||||
---
|
||||
|
||||
## Python Packages
|
||||
|
||||
InvenTree relies on the following Python libraries:
|
||||
|
||||
| Library | License | Description |
|
||||
| --- | --- | --- |
|
||||
| [Django](https://pypi.org/project/Django/) | BSD | Python web framework |
|
||||
| [invoke](https://www.pyinvoke.org/) | BSD | Task execution tool |
|
||||
| [wheel](https://wheel.readthedocs.io/en/stable/) | MIT | Python packaging |
|
||||
| [pillow](https://pypi.org/project/Pillow/) | HPND | Image manipulation |
|
||||
| [djangorestframework](https://pypi.org/project/djangorestframework/) | BSD | REST API |
|
||||
| [django-cors-headers](https://pypi.org/project/django-cors-headers/) | MIT | CORS headers |
|
||||
| [django-filter](https://pypi.org/project/django-filter/) | BSD | Advanced filtering for REST API |
|
||||
| [django-mptt](https://pypi.org/project/django-mptt/) | MIT | Modified preorder tree traversal |
|
||||
| [django-sql-utils](https://pypi.org/project/django-sql-utils/) | MIT | Advanced SQL subqueries |
|
||||
| [django-markdownx](https://pypi.org/project/django-markdownx/) | BSD | Markdown editor |
|
||||
| [django-markdownify](https://pypi.org/project/django-markdownify/) | MIT | Markdown template filters |
|
||||
| [coreapi](https://pypi.org/project/coreapi/) | BSD | API auto documentation |
|
||||
| [pygments](https://pypi.org/project/Pygments/) | BSD | Syntax highlighting |
|
||||
| [tablib](https://pypi.org/project/tablib/) | MIT | Data import/export |
|
||||
| [django-crispy-forms](https://pypi.org/project/django-crispy-forms/) | MIT | Advanced form rendering |
|
||||
| [django-import-export](https://pypi.org/project/django-import-export/) | BSD | Data import/export in admin interface |
|
||||
| [django-cleanup](https://pypi.org/project/django-cleanup/) | MIT | Automated cleanup of django media files |
|
||||
| [rapidfuzz](https://pypi.org/project/rapidfuzz/) | MIT | Fuzzy string matching |
|
||||
| [django-stdimage](https://pypi.org/project/django-stdimage/) | MIT | Advanced image fields for django |
|
||||
| [django-weasyprint](https://pypi.org/project/django-weasyprint/) | Apache 2.0 | PDF generation |
|
||||
| [django-money](https://pypi.org/project/django-money/) | BSD | Currency support |
|
||||
| [certifi](https://pypi.org/project/certifi/) | MPL 2.0 | Web certification |
|
||||
| [django-error-report](https://pypi.org/project/django-error-report/) | BSD | Error / excepttion management |
|
||||
| [django-test-migrations](https://pypi.org/project/django-test-migrations/) | MIT | Unit testing for database migrations |
|
||||
| [python-barcode](https://pypi.org/project/python-barcode/) | MIT | Barcode support |
|
||||
| [qrcode](https://pypi.org/project/qrcode/) | BSD | QR code support |
|
||||
| [django-q](https://pypi.org/project/django-q/) | MIT | Background task manager |
|
||||
| [gunicorn](https://pypi.org/project/gunicorn/) | MIT | Web server |
|
||||
| [flake8](https://pypi.org/project/flake8/) | MIT | style checking |
|
||||
| [pep8-naming](https://pypi.org/project/pep8-naming/) | Expat | name checking |
|
||||
| [coverage](https://pypi.org/project/coverage/) | Apache-2.0 | coverage checking |
|
||||
| [django-formtools](https://pypi.org/project/django-formtools/) | MIT | better forms / wizards |
|
||||
| [django-allauth](https://pypi.org/project/django-allauth/) | MIT | SSO for django |
|
||||
| [pint](https://pint.readthedocs.io/en/stable/) | [licence](https://github.com/hgrecco/pint/blob/master/LICENSE) | Physical unit conversion |
|
||||
|
||||
## Frontend libraries
|
||||
|
||||
InvenTree relies on the following frontend libraries and components:
|
||||
|
||||
| Name | License | Description |
|
||||
| --- | --- | --- |
|
||||
| [Bootstrap](https://github.com/twbs/bootstrap/) | MIT | Frontend framework |
|
||||
| [jquery](https://github.com/jquery/jquery) | MIT | JS framework |
|
||||
| [Bootstrap table](https://github.com/wenzhixin/bootstrap-table/) | MIT | Table rendering |
|
||||
| [Font Awesome - Icons](https://fontawesome.com/) | CC BY 4.0 License | Icons |
|
||||
| [Font Awesome - Code](https://fontawesome.com/) | MIT | Delivery code for icons |
|
||||
| [Select2](https://github.com/select2/select2/) | MIT | Searchable selection box |
|
||||
| [fullcalendar](https://github.com/fullcalendar/fullcalendar/) | MIT | Calendar rendering |
|
||||
| [chart.js](https://github.com/chartjs/Chart.js) | MIT | charts |
|
||||
| [Moment JS](https://github.com/moment/momentjs.com/) | MIT | Time and date rendering |
|
||||
| [jquery-treegrid](https://github.com/maxazan/jquery-treegrid/) | MIT | Treegrid rendering |
|
||||
| [clipboard.js](https://github.com/zenorocha/clipboard.js) | MIT | text copying |
|
||||
| [qr-scanner](https://github.com/nimiq/qr-scanner) | MIT | Javascript QR Code Scanner |
|
||||
|
||||
## Assets
|
||||
|
||||
### Splash Screen
|
||||
|
||||
The InvenTree splash screen graphic is sourced from [unsplash.com](https://unsplash.com/photos/Ixvv3YZkd7w) and used under the [unsplash license](https://unsplash.com/license).
|
||||
|
||||
## Source Code Contributions
|
||||
|
||||
The InvenTree project relies on the expertise and generosity of its [source code contributors](https://github.com/inventree/InvenTree/graphs/contributors).
|
||||
|
||||
## Translation Contributions
|
||||
|
||||
Translation efforts are supported by the InvenTree community. We appreciate the efforts of our [translation team](https://crowdin.com/project/inventree).
|
@ -34,7 +34,9 @@ A "bare metal" development setup can be installed as follows:
|
||||
```bash
|
||||
git clone https://github.com/inventree/InvenTree.git && cd InvenTree
|
||||
python3 -m venv env && source env/bin/activate
|
||||
pip install django invoke && invoke
|
||||
pip install --upgrade --ignore-installed invoke
|
||||
invoke install
|
||||
invoke update
|
||||
invoke dev.setup-dev --tests
|
||||
```
|
||||
|
||||
@ -146,10 +148,6 @@ pyupgrade `find . -name "*.py"`
|
||||
django-upgrade --target-version {{ config.extra.django_version }} `find . -name "*.py"`
|
||||
```
|
||||
|
||||
## Credits
|
||||
|
||||
If you add any new dependencies / libraries, they should be added to [the credits page](../credits.md).
|
||||
|
||||
## Migration Files
|
||||
|
||||
Any required migration files **must** be included in the commit, or the pull-request will be rejected. If you change the underlying database schema, make sure you run `invoke migrate` and commit the migration files before submitting the PR.
|
||||
|
@ -111,7 +111,7 @@ Make sure you have `gnupg` and `pinentry-mac` installed and set up correctly. Re
|
||||
|
||||
#### Where are the database, media files, ... stored?
|
||||
|
||||
Backups, Commandhistory, media/static files, venv, plugin.txt, secret_key.txt, ... are stored in the `dev` folder. If you want to start with a clean setup, you can remove that folder, but be aware that this will delete everything you already setup in InvenTree.
|
||||
Backups, media/static files, venv, plugin.txt, secret_key.txt, ... are stored in the `dev` folder. If you want to start with a clean setup, you can remove that folder, but be aware that this will delete everything you already setup in InvenTree.
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
|
@ -26,7 +26,7 @@ Refer to the [invoke guide](./start/invoke.md#cant-find-any-collection-named-tas
|
||||
|
||||
If the installed version of invoke is too old, users may see error messages during the installation procedure. Refer to the [invoke guide](./start/invoke.md#minimum-version) for more information.
|
||||
|
||||
### No module named 'django'
|
||||
### No module named <xxx>
|
||||
|
||||
During the install or update process, you may be presented with an error like:
|
||||
|
||||
@ -34,9 +34,27 @@ During the install or update process, you may be presented with an error like:
|
||||
ModuleNotFoundError: No module named 'django'
|
||||
```
|
||||
|
||||
Most likely you are trying to run the InvenTree server from outside the context of the virtual environment where the required python libraries are installed.
|
||||
Either the named modules are not installed, or the virtual environment is not correctly activated.
|
||||
|
||||
Always activate the virtual environment before running server commands!
|
||||
**Check Virtual Environment**
|
||||
|
||||
Ensure that the virtual environment is correctly activated before running any InvenTree commands.
|
||||
|
||||
**Check Invoke Tool**
|
||||
|
||||
Ensure that the invoke tool is correctly installed inside the virtual environment, with:
|
||||
|
||||
```bash
|
||||
pip install --upgrade --ignore-installed invoke
|
||||
```
|
||||
|
||||
**Install Required Python Packages**
|
||||
|
||||
Ensure that all required python packages are installed by running:
|
||||
|
||||
```bash
|
||||
invoke install
|
||||
```
|
||||
|
||||
### 'str' object has no attribute 'removeSuffix'
|
||||
|
||||
|
@ -152,12 +152,13 @@ def on_config(config, *args, **kwargs):
|
||||
"""
|
||||
rtd = os.environ.get('READTHEDOCS', False)
|
||||
|
||||
# Note: version selection is handled by RTD internally
|
||||
# Check for 'versions.json' file
|
||||
# If it does not exist, we need to fetch it from the RTD API
|
||||
if os.path.exists(os.path.join(os.path.dirname(__file__), 'versions.json')):
|
||||
print("Found 'versions.json' file")
|
||||
else:
|
||||
fetch_rtd_versions()
|
||||
# if os.path.exists(os.path.join(os.path.dirname(__file__), 'versions.json')):
|
||||
# print("Found 'versions.json' file")
|
||||
# else:
|
||||
# fetch_rtd_versions()
|
||||
|
||||
if rtd:
|
||||
rtd_version = os.environ['READTHEDOCS_VERSION']
|
||||
|
@ -6,10 +6,9 @@ title: Barcode Generation
|
||||
|
||||
Both [report](./report.md) and [label](./labels.md) templates can render custom barcode data to in-line images.
|
||||
|
||||
!!! info "img"
|
||||
Barcode data must be rendered inside an `<img>` tag.
|
||||
### Barcode Template Tags
|
||||
|
||||
Inside the template file (whether it be for printing a label or generating a custom report), the following code will need to be included at the top of the template file:
|
||||
To use the barcode tags inside a label or report template, you must load the `barcode` template tags at the top of the template file:
|
||||
|
||||
```html
|
||||
{% raw %}
|
||||
@ -18,12 +17,30 @@ Inside the template file (whether it be for printing a label or generating a cus
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
### 1D Barcode
|
||||
### Barcode Image Data
|
||||
|
||||
The barcode template tags will generate an image tag with the barcode data encoded as a base64 image. The image data is intended to be rendered as an `img` tag:
|
||||
|
||||
```html
|
||||
{% raw %}
|
||||
{% load barcode %}
|
||||
<img class='custom_class' src='{% barcode "12345678" %}'>
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
## 1D Barcode
|
||||
|
||||
!!! info "python-barcode"
|
||||
One dimensional barcodes (e.g. Code128) are generated using the [python-barcode](https://pypi.org/project/python-barcode/) library.
|
||||
|
||||
To render a 1D barcode, use the `barcode` template tag, as shown in the example below:
|
||||
To render a 1D barcode, use the `barcode` template tag:
|
||||
|
||||
::: report.templatetags.barcode.barcode
|
||||
options:
|
||||
show_docstring_description: False
|
||||
show_source: False
|
||||
|
||||
### Example
|
||||
|
||||
```html
|
||||
{% raw %}
|
||||
@ -36,6 +53,8 @@ To render a 1D barcode, use the `barcode` template tag, as shown in the example
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
### Additional Options
|
||||
|
||||
The default barcode renderer will generate a barcode using [Code128](https://en.wikipedia.org/wiki/Code_128) rendering. However [other barcode formats](https://python-barcode.readthedocs.io/en/stable/supported-formats.html) are also supported:
|
||||
|
||||
```html
|
||||
@ -58,29 +77,102 @@ You can also pass further [python-barcode](https://python-barcode.readthedocs.io
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
### QR-Code
|
||||
## QR-Code
|
||||
|
||||
!!! info "qrcode"
|
||||
Two dimensional QR codes are generated using the [qrcode](https://pypi.org/project/qrcode/) library.
|
||||
|
||||
To render a QR code, use the `qrcode` template tag:
|
||||
|
||||
```html
|
||||
{% raw %}
|
||||
::: report.templatetags.barcode.qrcode
|
||||
options:
|
||||
show_docstring_description: false
|
||||
show_source: False
|
||||
|
||||
{% load barcode %}
|
||||
|
||||
<img class='custom_qr_class' src='{% qrcode "Hello world!" %}'>
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
Additional parameters can be passed to the `qrcode` function for rendering:
|
||||
### Example
|
||||
|
||||
```html
|
||||
{% raw %}
|
||||
<img class='custom_qr_class' src='{% qrcode "Hello world!" fill_color="green" back_color="blue" %}'>
|
||||
{% extends "label/label_base.html" %}
|
||||
|
||||
{% load l10n i18n barcode %}
|
||||
|
||||
{% block style %}
|
||||
|
||||
.qr {
|
||||
position: absolute;
|
||||
left: 0mm;
|
||||
top: 0mm;
|
||||
{% localize off %}
|
||||
height: {{ height }}mm;
|
||||
width: {{ height }}mm;
|
||||
{% endlocalize %}
|
||||
}
|
||||
|
||||
{% endblock style %}
|
||||
|
||||
{% block content %}
|
||||
<img class='qr' src='{% qrcode "Hello world!" fill_color="white" back_color="blue" %}'>
|
||||
{% endblock content %}
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
which produces the following output:
|
||||
|
||||
{% with id="qrcode", url="report/qrcode.png", description="QR Code" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
|
||||
|
||||
!!! tip "Documentation"
|
||||
Refer to the [qrcode library documentation](https://pypi.org/project/qrcode/) for more information
|
||||
|
||||
|
||||
## Data Matrix
|
||||
|
||||
!!! info "ppf.datamatrix"
|
||||
Data Matrix codes are generated using the [ppf.datamatrix](https://pypi.org/project/ppf-datamatrix/) library.
|
||||
|
||||
[Data Matrix Codes](https://en.wikipedia.org/wiki/Data_Matrix) provide an alternative to QR codes for encoding data in a two-dimensional matrix. To render a Data Matrix code, use the `datamatrix` template tag:
|
||||
|
||||
::: report.templatetags.barcode.datamatrix
|
||||
options:
|
||||
show_docstring_description: false
|
||||
show_source: False
|
||||
|
||||
### Example
|
||||
|
||||
```html
|
||||
{% raw %}
|
||||
{% extends "label/label_base.html" %}
|
||||
|
||||
{% load l10n i18n barcode %}
|
||||
|
||||
{% block style %}
|
||||
|
||||
.qr {
|
||||
position: absolute;
|
||||
left: 0mm;
|
||||
top: 0mm;
|
||||
{% localize off %}
|
||||
height: {{ height }}mm;
|
||||
width: {{ height }}mm;
|
||||
{% endlocalize %}
|
||||
}
|
||||
|
||||
{% endblock style %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
|
||||
<img class='qr' src='{% datamatrix "Foo Bar" back_color="yellow" %}'>
|
||||
|
||||
{% endblock content %}
|
||||
{% endraw %}
|
||||
```
|
||||
|
||||
which produces the following output:
|
||||
|
||||
{% with id="datamatrix", url="report/datamatrix.png", description="Datamatrix barcode" %}
|
||||
{% include 'img.html' %}
|
||||
{% endwith %}
|
||||
|
@ -126,7 +126,7 @@ In the [settings screen](./global.md), navigate to the *Login Settings* panel. H
|
||||
| Enable SSO | Enable this option to allow single sign on for user login |
|
||||
| Enable SSO registration | Allow users to self-register with SSO |
|
||||
| Auto-fill SSO users | Automatically fill out user account data with information provided by external SSO app |
|
||||
| Allowed domains | Optionally restrict signup to certain domains |
|
||||
| Allowed domains | Optionally restrict user registration to certain domains |
|
||||
|
||||
### Configure Email
|
||||
|
||||
|
@ -19,7 +19,7 @@ To access the admin interface, select the "Admin" option from the drop-down user
|
||||
!!! info "Staff Only"
|
||||
Only users with staff access will be able to see the "Admin" option
|
||||
|
||||
An adminstation panel will be presented as shown below:
|
||||
An administration panel will be presented as shown below:
|
||||
|
||||
{% with id="admin", url="admin/admin.png", description="InvenTree Admin Panel" %}
|
||||
{% include 'img.html' %}
|
||||
|
@ -41,7 +41,7 @@ Configuration of basic server settings:
|
||||
|
||||
### Login Settings
|
||||
|
||||
Change how logins, password-forgot, signups are handled:
|
||||
Change how logins, password-forgot, user registrations are handled:
|
||||
|
||||
| Name | Description | Default | Units |
|
||||
| ---- | ----------- | ------- | ----- |
|
||||
|
@ -50,4 +50,4 @@ Some examples below demonstrate how the variable substitution can be implemented
|
||||
| `{% raw %}PO-{ref}{% endraw %}` | Render the *reference* variable without any custom formatting | PO-123 |
|
||||
| `{% raw %}PO-{ref:05d}{% endraw %}` | Render the *reference* variable as a 5-digit decimal number | PO-00123 |
|
||||
| `{% raw %}PO-{ref:05d}-{?:A}{% endraw %}` | *Require* a wildcard suffix with default suggested suffix `"A"`. | PO-00123-A <br> PO-00123-B |
|
||||
| `{% raw %}PO-{ref:05d}-{date:%Y-%m-%d}{% endraw %}` | Render the *date* variable in isoformat | PO-00123-2023-01-17 |
|
||||
| `{% raw %}PO-{ref:05d}-{date:%Y-%m-%d}{% endraw %}` | Render the *date* variable in ISO format | PO-00123-2023-01-17 |
|
||||
|
@ -93,7 +93,6 @@ The following debugging / logging options are available:
|
||||
| --- | --- | --- | --- |
|
||||
| INVENTREE_DEBUG | debug | Enable [debug mode](./intro.md#debug-mode) | False |
|
||||
| INVENTREE_DEBUG_QUERYCOUNT | debug_querycount | Enable [query count logging](https://github.com/bradmontgomery/django-querycount) in the terminal | False |
|
||||
| INVENTREE_DEBUG_SHELL | debug_shell | Enable [administrator shell](https://github.com/djk2/django-admin-shell) (only in debug mode) | False |
|
||||
| INVENTREE_DB_LOGGING | db_logging | Enable logging of database messages | False |
|
||||
| INVENTREE_LOG_LEVEL | log_level | Set level of logging to terminal | WARNING |
|
||||
| INVENTREE_JSON_LOG | json_log | log as json | False |
|
||||
@ -107,10 +106,6 @@ Enabling the `INVENTREE_DEBUG` setting will turn on [Django debug mode]({% inclu
|
||||
|
||||
Enabling the `INVENTREE_DEBUG_QUERYCOUNT` setting will log the number of database queries executed for each page load. This can be useful for identifying performance bottlenecks in the InvenTree server. Note that this setting is only available if `INVENTREE_DEBUG` is also enabled.
|
||||
|
||||
### Debug Shell
|
||||
|
||||
Enabling the `INVENTREE_DEBUG_SHELL` setting will allow the use of the [administrator shell](https://github.com/djk2/django-admin-shell). Note that this setting is only available if `INVENTREE_DEBUG` is also enabled, and is only accessible to superuser accounts.
|
||||
|
||||
### Database Logging
|
||||
|
||||
Enabling the `INVENTREE_DB_LOGGING` setting will log all database queries to the terminal. This can be useful for debugging database-related issues.
|
||||
@ -434,16 +429,15 @@ 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 |
|
||||
|
||||
The INVENTREE_CUSTOMIZE environment variable must contain a json object with the keys from the table above and
|
||||
the wanted values. Example:
|
||||
|
||||
```
|
||||
INVENTREE_CUSTOMIZE={"login_message":"Hallo Michi","hide_pui_banner":"True"}
|
||||
INVENTREE_CUSTOMIZE={"login_message":"Hallo Michi"}
|
||||
```
|
||||
|
||||
This example removes the PUI banner and sets a login message. Take care of the double quotes.
|
||||
This example sets a login message. Take care of the double quotes.
|
||||
|
||||
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).
|
||||
|
||||
|
@ -107,7 +107,8 @@ source ./env/bin/activate
|
||||
The Python packages required by the InvenTree server must be installed into the virtual environment.
|
||||
|
||||
```
|
||||
pip install --require-hashes -U -r src/backend/requirements.txt
|
||||
pip install --upgrade --ignore-installed invoke
|
||||
invoke install
|
||||
```
|
||||
|
||||
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).
|
||||
|
@ -103,13 +103,13 @@ By default, a public AWS service is used to resolve the public IP address of the
|
||||
#### Admin User
|
||||
|
||||
By default, an admin user is automatically generated with username `admin`, mail `admin@example.com` and a dynamic password that is saved to `/etc/inventree/admin_password`.
|
||||
These values can be customised with the environment variables `INVENTREE_ADMIN_USER`, `INVENTREE_ADMIN_EMAIL` and `INVENTREE_ADMIN_PASSWORD`.
|
||||
These values can be customized with the environment variables `INVENTREE_ADMIN_USER`, `INVENTREE_ADMIN_EMAIL` and `INVENTREE_ADMIN_PASSWORD`.
|
||||
To stop the automatic generation of an admin user, generate an empty file needs to be placed at `/etc/inventree/admin_password`.
|
||||
|
||||
#### Webconfig
|
||||
#### Web Config
|
||||
|
||||
By default, InvenTree is served internally on port 6000 and then proxied via Nginx. The config is placed in `/etc/nginx/sites-enabled/inventree.conf` and overwritten on each update. The location can be set with the environment variable `SETUP_NGINX_FILE`.
|
||||
This only serves an HTTP version of InvenTree, to use HTTPS (recommended for production) or customise any further an additional config file should be used.
|
||||
This only serves an HTTP version of InvenTree, to use HTTPS (recommended for production) or customize any further an additional config file should be used.
|
||||
|
||||
#### Extra python packages
|
||||
Extra python packages can be installed by setting the environment variable `SETUP_EXTRA_PIP`.
|
||||
|
@ -82,6 +82,24 @@ Or, if that does not work, try:
|
||||
|
||||
This will place the current shell session inside a virtual environment - the terminal should display the ``(env)`` prefix.
|
||||
|
||||
### Invoke in Virtual Environment
|
||||
|
||||
If you are using a virtual environment (and you should be!) you will need to ensure that you have installed the `invoke` package inside the virtual environment! If the invoke commands are run from outside the virtual environment, they may not work correctly - and may be extremely difficult to debug!
|
||||
|
||||
To install the `invoke` package inside the virtual environment, run the following command (after activating the virtual environment):
|
||||
|
||||
```
|
||||
pip install --upgrade --ignore-installed invoke
|
||||
```
|
||||
|
||||
To check that the `invoke` package is correctly installed, run the following command:
|
||||
|
||||
```
|
||||
which invoke
|
||||
```
|
||||
|
||||
This should return the path to the `invoke` binary inside the virtual environment. If the path is *not* inside the virtual environment, the `invoke` package is not correctly installed!
|
||||
|
||||
## InvenTree Source Code
|
||||
|
||||
InvenTree source code is distributed on [GitHub](https://github.com/inventree/inventree/), and the latest version can be downloaded (using Git) with the following command:
|
||||
@ -106,7 +124,7 @@ So, for a production setup, you should set `INVENTREE_DEBUG=false` in the [confi
|
||||
|
||||
### Potential Issues
|
||||
|
||||
Turning off DEBUG mode creates further work for the system administrator. In particular, when running in DEBUG mode, the InvenTree web server natively manages *static* and *media* files, which means that the InvenTree server can run "monolithically" without the need for a separate web server.
|
||||
Turning off DEBUG mode creates further work for the system administrator. In particular, when running in DEBUG mode, the InvenTree web server natively manages *static* and *media* files, which means that when DEBUG mode is *disabled*, the InvenTree server can no longer run as a monolithic process.
|
||||
|
||||
!!! info "Read More"
|
||||
Refer to the [proxy server documentation](./processes.md#proxy-server) for more details
|
||||
|
@ -48,7 +48,7 @@ This step ensures that the required database tables exist, and are at the correc
|
||||
|
||||
### Import Data
|
||||
|
||||
The new database should now be correctly initialized with the correct table structures required to import the data. Run the following command to load the databased dump file into the new database.
|
||||
The new database should now be correctly initialized with the correct table structures required to import the data. Run the following command to load the database dump file into the new database.
|
||||
|
||||
!!! warning "Empty Database"
|
||||
If the database is not *empty* (i.e. it contains data records) then the data import process will fail. If errors occur during the import process, run `invoke import-records` with the `-c` option to clear all existing data from the database.
|
||||
|
@ -24,7 +24,7 @@ Multiple stock items may share the same batch code without restriction, even acr
|
||||
|
||||
#### Generating Batch Codes
|
||||
|
||||
Batch codes can be generated automatically based on a provided pattern. The default pattern simply uses the current datecode as the batch number, however this can be customized within a certain scope.
|
||||
Batch codes can be generated automatically based on a provided pattern. The default pattern simply uses the current date-code as the batch number, however this can be customized within a certain scope.
|
||||
|
||||
{% with id="batch_code_pattern", url="stock/batch_code_template.png", description="Batch code pattern" %}
|
||||
{% include 'img.html' %}
|
||||
@ -150,4 +150,4 @@ Custom serial number functionality, with any arbitrary requirements or level of
|
||||
|
||||
A custom plugin allows the user to determine how a "valid" serial number is defined, and (crucially) how any given serial number value is incremented to provide the next value in the sequence.
|
||||
|
||||
Implementing custom methods for these two consideraions allows for complex serial number schema to be supported with minimal effort.
|
||||
Implementing custom methods for these two considerations allows for complex serial number schema to be supported with minimal effort.
|
||||
|
@ -82,7 +82,6 @@ nav:
|
||||
- Contributing: develop/contributing.md
|
||||
- Devcontainer: develop/devcontainer.md
|
||||
- React Frontend: develop/react-frontend.md
|
||||
- Credits: credits.md
|
||||
- Privacy: privacy.md
|
||||
- Release Notes: releases/release_notes.md
|
||||
- Security: security.md
|
||||
|
@ -1,7 +1,6 @@
|
||||
"""Main JSON interface views."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
@ -10,6 +9,7 @@ from django.db import transaction
|
||||
from django.http import JsonResponse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from django_q.models import OrmQ
|
||||
from drf_spectacular.utils import OpenApiResponse, extend_schema
|
||||
from rest_framework import permissions, serializers
|
||||
@ -31,7 +31,7 @@ from .mixins import ListAPI, RetrieveUpdateAPI
|
||||
from .status import check_system_health, is_worker_running
|
||||
from .version import inventreeApiText
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class LicenseViewSerializer(serializers.Serializer):
|
||||
|
@ -1,7 +1,7 @@
|
||||
"""InvenTree API version information."""
|
||||
|
||||
# InvenTree API version
|
||||
INVENTREE_API_VERSION = 297
|
||||
INVENTREE_API_VERSION = 298
|
||||
|
||||
"""Increment this API version number whenever there is a significant change to the API that any clients need to know about."""
|
||||
|
||||
@ -11,6 +11,11 @@ v296 - 2024-12-22 : https://github.com/inventree/InvenTree/pull/6293
|
||||
- Removes a considerable amount of old auth endpoints
|
||||
- Introduces allauth based REST API
|
||||
|
||||
v298 - 2025-01-07 - https://github.com/inventree/InvenTree/pull/8848
|
||||
- Adds 'created_by' field to PurchaseOrder API endpoints
|
||||
- Adds 'created_by' field to SalesOrder API endpoints
|
||||
- Adds 'created_by' field to ReturnOrder API endpoints
|
||||
|
||||
v297 - 2024-12-29 - https://github.com/inventree/InvenTree/pull/8438
|
||||
- Adjustments to the CustomUserState API endpoints and serializers
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""AppConfig for InvenTree app."""
|
||||
|
||||
import logging
|
||||
from importlib import import_module
|
||||
from pathlib import Path
|
||||
|
||||
@ -11,6 +10,7 @@ from django.core.exceptions import AppRegistryNotReady
|
||||
from django.db import transaction
|
||||
from django.db.utils import IntegrityError, OperationalError
|
||||
|
||||
import structlog
|
||||
from allauth.socialaccount.signals import social_account_updated
|
||||
|
||||
import InvenTree.conversion
|
||||
@ -19,7 +19,7 @@ import InvenTree.tasks
|
||||
from common.settings import get_global_setting, set_global_setting
|
||||
from InvenTree.config import get_setting
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class InvenTreeConfig(AppConfig):
|
||||
|
@ -1,7 +1,5 @@
|
||||
"""Overrides for allauth and adjacent packages to enforce InvenTree specific auth settings and restirctions."""
|
||||
|
||||
import logging
|
||||
|
||||
from django import forms
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import Group
|
||||
@ -9,6 +7,7 @@ from django.http import HttpResponseRedirect
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from allauth.account.adapter import DefaultAccountAdapter
|
||||
from allauth.account.forms import LoginForm, SignupForm, set_form_field_order
|
||||
from allauth.headless.tokens.sessions import SessionTokenStrategy
|
||||
@ -20,7 +19,7 @@ from common.settings import get_global_setting
|
||||
from InvenTree.exceptions import log_error
|
||||
from users.models import ApiToken
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
# override allauth
|
||||
|
@ -1,16 +1,16 @@
|
||||
"""Custom backend implementations."""
|
||||
|
||||
import datetime
|
||||
import logging
|
||||
import time
|
||||
|
||||
from django.db.utils import IntegrityError, OperationalError, ProgrammingError
|
||||
|
||||
import structlog
|
||||
from maintenance_mode.backends import AbstractStateBackend
|
||||
|
||||
import common.models
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class InvenTreeMaintenanceModeBackend(AbstractStateBackend):
|
||||
|
@ -1,12 +1,13 @@
|
||||
"""Configuration options for InvenTree external cache."""
|
||||
|
||||
import logging
|
||||
import socket
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.config
|
||||
import InvenTree.ready
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def cache_setting(name, default=None, **kwargs):
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""Helper functions for converting between units."""
|
||||
|
||||
import logging
|
||||
import re
|
||||
from typing import Optional
|
||||
|
||||
@ -11,7 +10,9 @@ import pint
|
||||
|
||||
_unit_registry = None
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
import structlog
|
||||
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def get_unit_registry():
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import logging
|
||||
import sys
|
||||
import traceback
|
||||
|
||||
@ -11,11 +10,12 @@ from django.core.exceptions import ValidationError as DjangoValidationError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import rest_framework.views as drfviews
|
||||
import structlog
|
||||
from rest_framework import serializers
|
||||
from rest_framework.exceptions import ValidationError as DRFValidationError
|
||||
from rest_framework.response import Response
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def log_error(path, error_name=None, error_info=None, error_data=None):
|
||||
|
@ -1,16 +1,15 @@
|
||||
"""Custom exchange backend which hooks into the InvenTree plugin system to fetch exchange rates from an external API."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.db.transaction import atomic
|
||||
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.backends.base import SimpleExchangeBackend
|
||||
from djmoney.contrib.exchange.models import ExchangeBackend, Rate
|
||||
|
||||
from common.currency import currency_code_default, currency_codes
|
||||
from common.settings import get_global_setting
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class InvenTreeExchange(SimpleExchangeBackend):
|
||||
|
@ -4,7 +4,6 @@ import datetime
|
||||
import hashlib
|
||||
import inspect
|
||||
import io
|
||||
import logging
|
||||
import os
|
||||
import os.path
|
||||
import re
|
||||
@ -22,6 +21,7 @@ from django.utils import timezone
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import bleach
|
||||
import structlog
|
||||
from bleach import clean
|
||||
from djmoney.money import Money
|
||||
from PIL import Image
|
||||
@ -31,7 +31,7 @@ from common.currency import currency_code_default
|
||||
|
||||
from .settings import MEDIA_URL, STATIC_URL
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def extract_int(reference, clip=0x7FFFFFFF, allow_negative=False):
|
||||
|
@ -1,14 +1,14 @@
|
||||
"""Code for managing email functionality in InvenTree."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.conf import settings
|
||||
from django.core import mail as django_mail
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.ready
|
||||
import InvenTree.tasks
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def is_email_configured():
|
||||
|
@ -1,7 +1,6 @@
|
||||
"""Provides helper functions used throughout the InvenTree project that access the database."""
|
||||
|
||||
import io
|
||||
import logging
|
||||
from decimal import Decimal
|
||||
from typing import Optional
|
||||
from urllib.parse import urljoin
|
||||
@ -12,6 +11,7 @@ from django.db.utils import OperationalError, ProgrammingError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import requests
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.models import convert_money
|
||||
from djmoney.money import Money
|
||||
from PIL import Image
|
||||
@ -24,7 +24,7 @@ from common.notifications import (
|
||||
from common.settings import get_global_setting
|
||||
from InvenTree.format import format_money
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def get_base_url(request=None):
|
||||
|
@ -1,12 +1,12 @@
|
||||
"""Check if there are any pending database migrations, and run them."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
import structlog
|
||||
|
||||
from InvenTree.tasks import check_for_migrations
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
@ -1,10 +1,10 @@
|
||||
"""Custom management command to cleanup old settings that are not defined anymore."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
import structlog
|
||||
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
@ -3,13 +3,12 @@
|
||||
- This is crucial after importing any fixtures, etc
|
||||
"""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
import structlog
|
||||
from maintenance_mode.core import maintenance_mode_on, set_maintenance_mode
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
@ -3,18 +3,18 @@
|
||||
- May be required after importing a new dataset, for example
|
||||
"""
|
||||
|
||||
import logging
|
||||
import os
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.db.utils import OperationalError, ProgrammingError
|
||||
|
||||
import structlog
|
||||
from PIL import UnidentifiedImageError
|
||||
|
||||
from company.models import Company
|
||||
from part.models import Part
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
@ -1,12 +1,12 @@
|
||||
"""Check if there are any pending database migrations, and run them."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
import structlog
|
||||
|
||||
from InvenTree.tasks import check_for_migrations
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
|
@ -1,10 +1,9 @@
|
||||
"""Custom metadata for DRF."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import Http404
|
||||
|
||||
import structlog
|
||||
from rest_framework import exceptions, serializers
|
||||
from rest_framework.fields import empty
|
||||
from rest_framework.metadata import SimpleMetadata
|
||||
@ -17,7 +16,7 @@ import users.models
|
||||
from InvenTree.helpers import str2bool
|
||||
from InvenTree.serializers import DependentField
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class InvenTreeMetadata(SimpleMetadata):
|
||||
@ -389,7 +388,9 @@ class InvenTreeMetadata(SimpleMetadata):
|
||||
model = field.queryset.model
|
||||
else:
|
||||
logger.debug(
|
||||
'Could not extract model for:', field_info.get('label'), '->', field
|
||||
'Could not extract model for: %s -> %s',
|
||||
field_info.get('label'),
|
||||
field,
|
||||
)
|
||||
model = None
|
||||
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""Middleware for InvenTree."""
|
||||
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from django.conf import settings
|
||||
@ -9,11 +8,12 @@ from django.http import HttpResponse
|
||||
from django.shortcuts import redirect
|
||||
from django.urls import resolve, reverse_lazy
|
||||
|
||||
import structlog
|
||||
from error_report.middleware import ExceptionProcessor
|
||||
|
||||
from users.models import ApiToken
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def get_token_from_request(request):
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""Generic models which provide extra functionality over base Django model types."""
|
||||
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from string import Formatter
|
||||
|
||||
@ -14,6 +13,7 @@ from django.urls import reverse
|
||||
from django.urls.exceptions import NoReverseMatch
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from django_q.models import Task
|
||||
from error_report.models import Error
|
||||
from mptt.exceptions import InvalidMove
|
||||
@ -25,7 +25,7 @@ import InvenTree.format
|
||||
import InvenTree.helpers
|
||||
import InvenTree.helpers_model
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class DiffMixin:
|
||||
@ -1124,15 +1124,16 @@ def after_failed_task(sender, instance: Task, created: bool, **kwargs):
|
||||
except (ValueError, NoReverseMatch):
|
||||
url = ''
|
||||
|
||||
# Function name
|
||||
f = instance.func
|
||||
|
||||
notify_staff_users_of_error(
|
||||
instance,
|
||||
'inventree.task_failure',
|
||||
{
|
||||
'failure': instance,
|
||||
'name': _('Task Failure'),
|
||||
'message': _(
|
||||
f"Background worker task '{instance.func}' failed after {n} attempts"
|
||||
),
|
||||
'message': _(f"Background worker task '{f}' failed after {n} attempts"),
|
||||
'link': url,
|
||||
},
|
||||
)
|
||||
|
@ -1,19 +1,18 @@
|
||||
"""Configuration for Sentry.io error reporting."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.conf import settings
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.http import Http404
|
||||
|
||||
import rest_framework.exceptions
|
||||
import sentry_sdk
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.exceptions import MissingRate
|
||||
from sentry_sdk.integrations.django import DjangoIntegration
|
||||
|
||||
import InvenTree.version
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def default_sentry_dsn():
|
||||
|
@ -220,11 +220,9 @@ if DEBUG and 'collectstatic' not in sys.argv:
|
||||
|
||||
# Append directory for sample plugin static content (if in debug mode)
|
||||
if PLUGINS_ENABLED:
|
||||
print('Adding plugin sample static content')
|
||||
logger.info('Adding plugin sample static content')
|
||||
STATICFILES_DIRS.append(BASE_DIR.joinpath('plugin', 'samples', 'static'))
|
||||
|
||||
print('-', STATICFILES_DIRS[-1])
|
||||
|
||||
# Database backup options
|
||||
# Ref: https://django-dbbackup.readthedocs.io/en/master/configuration.html
|
||||
DBBACKUP_SEND_EMAIL = False
|
||||
@ -353,29 +351,6 @@ QUERYCOUNT = {
|
||||
'RESPONSE_HEADER': 'X-Django-Query-Count',
|
||||
}
|
||||
|
||||
ADMIN_SHELL_ENABLE = False
|
||||
ADMIN_SHELL_IMPORT_DJANGO = False
|
||||
ADMIN_SHELL_IMPORT_MODELS = False
|
||||
|
||||
# In DEBUG mode, add support for django-admin-shell
|
||||
# Ref: https://github.com/djk2/django-admin-shell
|
||||
if (
|
||||
DEBUG
|
||||
and INVENTREE_ADMIN_ENABLED
|
||||
and not TESTING
|
||||
and get_boolean_setting('INVENTREE_DEBUG_SHELL', 'debug_shell', False)
|
||||
):
|
||||
try:
|
||||
import django_admin_shell # noqa: F401
|
||||
|
||||
INSTALLED_APPS.append('django_admin_shell')
|
||||
ADMIN_SHELL_ENABLE = True
|
||||
|
||||
logger.warning('Admin shell is enabled')
|
||||
except ModuleNotFoundError:
|
||||
logger.warning(
|
||||
'django-admin-shell is not installed - Admin shell is not enabled'
|
||||
)
|
||||
|
||||
AUTHENTICATION_BACKENDS = CONFIG.get(
|
||||
'authentication_backends',
|
||||
@ -1029,7 +1004,9 @@ if SITE_URL:
|
||||
validator = URLValidator()
|
||||
validator(SITE_URL)
|
||||
except Exception:
|
||||
print(f"Invalid SITE_URL value: '{SITE_URL}'. InvenTree server cannot start.")
|
||||
msg = f"Invalid SITE_URL value: '{SITE_URL}'. InvenTree server cannot start."
|
||||
logger.error(msg)
|
||||
print(msg)
|
||||
sys.exit(-1)
|
||||
|
||||
else:
|
||||
@ -1128,12 +1105,7 @@ COOKIE_MODE = (
|
||||
# Valid modes (as per the django settings documentation)
|
||||
valid_cookie_modes = ['lax', 'strict', 'none']
|
||||
|
||||
if not DEBUG and not TESTING and COOKIE_MODE in valid_cookie_modes:
|
||||
# Set the cookie mode (in production mode only)
|
||||
COOKIE_MODE = COOKIE_MODE.capitalize()
|
||||
else:
|
||||
# Default to False, as per the Django settings
|
||||
COOKIE_MODE = False
|
||||
COOKIE_MODE = COOKIE_MODE.capitalize() if COOKIE_MODE in valid_cookie_modes else False
|
||||
|
||||
# Additional CSRF settings
|
||||
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
|
||||
@ -1141,13 +1113,14 @@ CSRF_COOKIE_NAME = 'csrftoken'
|
||||
|
||||
CSRF_COOKIE_SAMESITE = COOKIE_MODE
|
||||
SESSION_COOKIE_SAMESITE = COOKIE_MODE
|
||||
LANGUAGE_COOKIE_SAMESITE = COOKIE_MODE
|
||||
|
||||
"""Set the SESSION_COOKIE_SECURE value based on the following rules:
|
||||
- False if the server is running in DEBUG mode
|
||||
- True if samesite cookie setting is set to 'None'
|
||||
- Otherwise, use the value specified in the configuration file (or env var)
|
||||
"""
|
||||
SESSION_COOKIE_SECURE = (
|
||||
COOKIE_SECURE = (
|
||||
False
|
||||
if DEBUG
|
||||
else (
|
||||
@ -1158,6 +1131,10 @@ SESSION_COOKIE_SECURE = (
|
||||
)
|
||||
)
|
||||
|
||||
CSRF_COOKIE_SECURE = COOKIE_SECURE
|
||||
SESSION_COOKIE_SECURE = COOKIE_SECURE
|
||||
LANGUAGE_COOKIE_SECURE = COOKIE_SECURE
|
||||
|
||||
# Ref: https://docs.djangoproject.com/en/4.2/ref/settings/#std-setting-SECURE_PROXY_SSL_HEADER
|
||||
if ssl_header := get_boolean_setting(
|
||||
'INVENTREE_USE_X_FORWARDED_PROTO', 'use_x_forwarded_proto', False
|
||||
|
@ -1,18 +1,18 @@
|
||||
"""Helper functions for Single Sign On functionality."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
|
||||
from django.contrib.auth.models import Group
|
||||
from django.db.models.signals import post_save
|
||||
from django.dispatch import receiver
|
||||
|
||||
import structlog
|
||||
from allauth.socialaccount.models import SocialAccount, SocialLogin
|
||||
|
||||
from common.settings import get_global_setting
|
||||
from InvenTree.helpers import str2bool
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def get_provider_app(provider):
|
||||
|
@ -1,17 +1,17 @@
|
||||
"""Provides system status functionality checks."""
|
||||
|
||||
import logging
|
||||
from datetime import timedelta
|
||||
|
||||
from django.utils import timezone
|
||||
|
||||
import structlog
|
||||
from django_q.models import Success
|
||||
from django_q.status import Stat
|
||||
|
||||
import InvenTree.helpers_email
|
||||
import InvenTree.ready
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def is_worker_running(**kwargs):
|
||||
|
@ -1,7 +1,6 @@
|
||||
"""Functions for tasks and a few general async tasks."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import random
|
||||
import re
|
||||
@ -21,6 +20,7 @@ from django.db.utils import NotSupportedError, OperationalError, ProgrammingErro
|
||||
from django.utils import timezone
|
||||
|
||||
import requests
|
||||
import structlog
|
||||
from maintenance_mode.core import (
|
||||
get_maintenance_mode,
|
||||
maintenance_mode_on,
|
||||
@ -33,7 +33,7 @@ from plugin import registry
|
||||
|
||||
from .version import isInvenTreeUpToDate
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def schedule_task(taskname, **kwargs):
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""This module provides template tags for extra functionality, over and above the built-in Django tags."""
|
||||
|
||||
import logging
|
||||
from datetime import date, datetime
|
||||
|
||||
from django import template
|
||||
@ -22,7 +21,9 @@ from plugin.plugin import InvenTreePlugin
|
||||
register = template.Library()
|
||||
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
import structlog
|
||||
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
@register.simple_tag()
|
||||
|
@ -1357,14 +1357,17 @@ class TestOffloadTask(InvenTreeTestCase):
|
||||
# First call should run without issue
|
||||
result = InvenTree.tasks.check_daily_holdoff('dummy_task')
|
||||
self.assertTrue(result)
|
||||
self.assertIn("Logging task attempt for 'dummy_task'", str(cm.output))
|
||||
self.assertIn(
|
||||
'Logging task attempt for dummy_task', str(cm.output).replace("\\'", '')
|
||||
)
|
||||
|
||||
with self.assertLogs(logger='inventree', level='INFO') as cm:
|
||||
# An attempt has been logged, but it is too recent
|
||||
result = InvenTree.tasks.check_daily_holdoff('dummy_task')
|
||||
self.assertFalse(result)
|
||||
self.assertIn(
|
||||
"Last attempt for 'dummy_task' was too recent", str(cm.output)
|
||||
'Last attempt for dummy_task was too recent',
|
||||
str(cm.output).replace("\\'", ''),
|
||||
)
|
||||
|
||||
# Mark last attempt a few days ago - should now return True
|
||||
@ -1385,7 +1388,8 @@ class TestOffloadTask(InvenTreeTestCase):
|
||||
result = InvenTree.tasks.check_daily_holdoff('dummy_task')
|
||||
self.assertFalse(result)
|
||||
self.assertIn(
|
||||
"Last attempt for 'dummy_task' was too recent", str(cm.output)
|
||||
'Last attempt for dummy_task was too recent',
|
||||
str(cm.output).replace("\\'", ''),
|
||||
)
|
||||
|
||||
# Configure so a task was successful too recently
|
||||
|
@ -148,9 +148,6 @@ urlpatterns = []
|
||||
if settings.INVENTREE_ADMIN_ENABLED:
|
||||
admin_url = settings.INVENTREE_ADMIN_URL
|
||||
|
||||
if settings.ADMIN_SHELL_ENABLE:
|
||||
urlpatterns += [path(f'{admin_url}/shell/', include('django_admin_shell.urls'))]
|
||||
|
||||
urlpatterns += [
|
||||
path(f'{admin_url}/error_log/', include('error_report.urls')),
|
||||
path(f'{admin_url}/', admin.site.urls, name='inventree-admin'),
|
||||
|
@ -1,7 +1,6 @@
|
||||
"""Build database model definitions."""
|
||||
|
||||
import decimal
|
||||
import logging
|
||||
from datetime import datetime
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
@ -15,6 +14,7 @@ from django.dispatch.dispatcher import receiver
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from mptt.exceptions import InvalidMove
|
||||
from mptt.models import MPTTModel, TreeForeignKey
|
||||
from rest_framework import serializers
|
||||
@ -47,7 +47,7 @@ from generic.states import StateTransitionMixin, StatusCodeMixin
|
||||
from plugin.events import trigger_event
|
||||
from stock.status_codes import StockHistoryCode, StockStatus
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class Build(
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""Background task definitions for the BuildOrder app."""
|
||||
|
||||
import logging
|
||||
import random
|
||||
import time
|
||||
from datetime import timedelta
|
||||
@ -11,6 +10,7 @@ from django.db import transaction
|
||||
from django.template.loader import render_to_string
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from allauth.account.models import EmailAddress
|
||||
|
||||
import build.models as build_models
|
||||
@ -25,7 +25,7 @@ from build.status_codes import BuildStatusGroups
|
||||
from InvenTree.ready import isImportingData
|
||||
from plugin.events import trigger_event
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def auto_allocate_build(build_id: int, **kwargs):
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""Unit tests for the 'build' models."""
|
||||
|
||||
import logging
|
||||
import uuid
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
@ -11,6 +10,8 @@ from django.db.models import Sum
|
||||
from django.test import TestCase
|
||||
from django.test.utils import override_settings
|
||||
|
||||
import structlog
|
||||
|
||||
import build.tasks
|
||||
import common.models
|
||||
from build.models import Build, BuildItem, BuildLine, generate_next_build_reference
|
||||
@ -22,7 +23,7 @@ from part.models import BomItem, BomItemSubstitute, Part, PartTestTemplate
|
||||
from stock.models import StockItem, StockItemTestResult
|
||||
from users.models import Owner
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class BuildTestBase(TestCase):
|
||||
|
@ -1,13 +1,13 @@
|
||||
"""App config for common app."""
|
||||
|
||||
import logging
|
||||
|
||||
from django.apps import AppConfig
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.ready
|
||||
from common.settings import get_global_setting, set_global_setting
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class CommonConfig(AppConfig):
|
||||
|
@ -1,7 +1,6 @@
|
||||
"""Helper functions for currency support."""
|
||||
|
||||
import decimal
|
||||
import logging
|
||||
import math
|
||||
from typing import Optional
|
||||
|
||||
@ -9,11 +8,12 @@ from django.core.cache import cache
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from moneyed import CURRENCIES
|
||||
|
||||
import InvenTree.helpers
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def currency_code_default():
|
||||
|
@ -1,7 +1,6 @@
|
||||
"""Icon utilities for InvenTree."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
from dataclasses import dataclass
|
||||
from pathlib import Path
|
||||
from typing import TypedDict
|
||||
@ -9,7 +8,9 @@ from typing import TypedDict
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.templatetags.static import static
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
import structlog
|
||||
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
_icon_packs = None
|
||||
|
||||
|
@ -7,7 +7,6 @@ import base64
|
||||
import hashlib
|
||||
import hmac
|
||||
import json
|
||||
import logging
|
||||
import os
|
||||
import uuid
|
||||
from datetime import timedelta, timezone
|
||||
@ -34,6 +33,7 @@ from django.urls import reverse
|
||||
from django.utils.timezone import now
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from djmoney.contrib.exchange.exceptions import MissingRate
|
||||
from djmoney.contrib.exchange.models import convert_money
|
||||
from rest_framework.exceptions import PermissionDenied
|
||||
@ -54,7 +54,7 @@ from generic.states import ColorEnum
|
||||
from generic.states.custom import state_color_mappings
|
||||
from InvenTree.sanitizer import sanitize_svg
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class MetaMixin(models.Model):
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""Base classes and functions for notifications."""
|
||||
|
||||
import logging
|
||||
from dataclasses import dataclass
|
||||
from datetime import timedelta
|
||||
from typing import Optional
|
||||
@ -9,6 +8,8 @@ from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import Group
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
|
||||
import common.models
|
||||
import InvenTree.helpers
|
||||
from InvenTree.ready import isImportingData, isRebuildingData
|
||||
@ -16,7 +17,7 @@ from plugin import registry
|
||||
from plugin.models import NotificationUserSetting, PluginConfig
|
||||
from users.models import Owner
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
# region methods
|
||||
|
@ -1,6 +1,5 @@
|
||||
"""Tasks (processes that get offloaded) for common app."""
|
||||
|
||||
import logging
|
||||
import os
|
||||
from datetime import timedelta
|
||||
|
||||
@ -11,13 +10,14 @@ from django.utils import timezone
|
||||
|
||||
import feedparser
|
||||
import requests
|
||||
import structlog
|
||||
|
||||
import InvenTree.helpers
|
||||
from InvenTree.helpers_model import getModelsWithMixin
|
||||
from InvenTree.models import InvenTreeNotesMixin
|
||||
from InvenTree.tasks import ScheduledTask, scheduled_task
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
@scheduled_task(ScheduledTask.DAILY)
|
||||
|
@ -1,7 +1,6 @@
|
||||
"""Model definitions for the 'importer' app."""
|
||||
|
||||
import json
|
||||
import logging
|
||||
from typing import Optional
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
@ -11,6 +10,7 @@ from django.db import models
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import structlog
|
||||
from rest_framework.exceptions import ValidationError as DRFValidationError
|
||||
|
||||
import importer.operations
|
||||
@ -20,7 +20,7 @@ import importer.validators
|
||||
import InvenTree.helpers
|
||||
from importer.status_codes import DataImportStatusCode
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class DataImportSession(models.Model):
|
||||
|
@ -1,12 +1,11 @@
|
||||
"""Registry for supported serializers for data import operations."""
|
||||
|
||||
import logging
|
||||
|
||||
import structlog
|
||||
from rest_framework.serializers import Serializer
|
||||
|
||||
from importer.mixins import DataImportSerializerMixin
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
class DataImportSerializerRegister:
|
||||
|
@ -1,12 +1,13 @@
|
||||
"""Task definitions for the 'importer' app."""
|
||||
|
||||
import logging
|
||||
from datetime import timedelta
|
||||
|
||||
import structlog
|
||||
|
||||
import InvenTree.helpers
|
||||
import InvenTree.tasks
|
||||
|
||||
logger = logging.getLogger('inventree')
|
||||
logger = structlog.get_logger('inventree')
|
||||
|
||||
|
||||
def import_data(session_id: int):
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Arabic\n"
|
||||
"Language: ar_SA\n"
|
||||
@ -69,21 +69,21 @@ msgstr "لم تتم الموافقة على نطاق البريد الإلكتر
|
||||
msgid "Registration is disabled."
|
||||
msgstr "التسجيل معطل."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "الوحدة المقدمة غير صالحة ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "لم يتم تقديم قيمة"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "تعذّر تحويل {original} إلى {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "الكمية المقدمة غير صحيحة"
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Bulgarian\n"
|
||||
"Language: bg_BG\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Въведеният домейн на електронната поща
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Регистрацията е деактивирана."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Не е зададена стойност"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Преобразуването на {original} в {unit} не беше успешно"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Въведена е недопустима стойност"
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Czech\n"
|
||||
"Language: cs_CZ\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Zadaná e-mailová doména není povolena."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrace vypnuta."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Zadaná neplatná jednotka ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Není k dispozici žádná hodnota"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Nelze převést {original} na {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Vyplněno neplatné množství"
|
||||
@ -612,7 +612,7 @@ msgstr "Stahování obrázků ze vzdálené URL není povoleno"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Neznámá databáze"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Výsledek"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nový {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Byla vytvořena nová objednávka a přiřazena k vám"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} zrušeno"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Objednávka, která je vám přidělena, byla zrušena"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "Množství musí být 1 pro serializovanou skladovou položku"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Prodejní objednávka neodpovídá zásilce"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Zásilka neodpovídá prodejní objednávce"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Vrácení peněz"
|
||||
msgid "Reject"
|
||||
msgstr "Odmítnout"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Opožděná prodejní objednávka"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Prodejní objednávka {so} je nyní opožděná"
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr "Činnost nebyla specifikována"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nebyla nalezena odpovídající činnost"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Pro data čárového kódu nebyla nalezena shoda"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Pro data čárového kódu byla nalezena shoda"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Čárový kód neodpovídá žádné existující skladové položce"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Skladová položka se neshoduje s řádkovou položkou"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Skladová položka byla přidělena prodejní objednávce"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Danish\n"
|
||||
"Language: da_DK\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Det angivne e-mail domæne er ikke godkendt."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrering er deaktiveret."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ingen værdi angivet"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Kunne ikke konvertere {original} til {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Ugyldigt antal angivet"
|
||||
@ -612,7 +612,7 @@ msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Ukendt database"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Refusion"
|
||||
msgid "Reject"
|
||||
msgstr "Afvis"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: German\n"
|
||||
"Language: de_DE\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Die angegebene E-Mail-Domain ist nicht freigegeben."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrierung ist deaktiviert."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Ungültige Einheit angegeben ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Kein Wert angegeben"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Konnte {original} nicht in {unit} umwandeln"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Keine gültige Menge"
|
||||
@ -612,7 +612,7 @@ msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Unbekannte Datenbank"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Ergebnis"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Neue {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Eine neue Bestellung wurde erstellt und Ihnen zugewiesen"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} storniert"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Eine Bestellung, die Ihnen zugewiesen war, wurde storniert"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Artikel erhalten"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Artikel wurden aus einer Bestellung erhalten"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Artikel wurden aus einer Rücksendung erhalten"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Fehler in Plugin aufgetreten"
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Auftrag gehört nicht zu Sendung"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Sendung gehört nicht zu Auftrag"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Rückerstattung"
|
||||
msgid "Reject"
|
||||
msgstr "Ablehnen"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Überfällige Bestellung"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Bestellung {po} ist jetzt überfällig"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Überfälliger Auftrag"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Auftrag {so} ist jetzt überfällig"
|
||||
@ -6295,11 +6295,11 @@ msgstr "Inventurbericht verfügbar"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Ein neuer Inventurbericht steht zum Download zur Verfügung"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Benachrichtigungen über geringen Bestand"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Der verfügbare Bestand für {part.name} ist unter das konfigurierte Mindestniveau gefallen"
|
||||
@ -6316,83 +6316,83 @@ msgstr "Keine Aktion angegeben"
|
||||
msgid "No matching action found"
|
||||
msgstr "Keine passende Aktion gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Keine Treffer für Barcode"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Treffer für Barcode gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Barcode entspricht einem bereits vorhandenen Artikel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Keine passenden Teiledaten gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Keine passenden Zulieferteile gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Mehrere passende Zulieferteile gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Zulieferteil zugeordnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Artikel wurde bereits erhalten"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "Mehrere passende Elemente gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "Kein passendes Element gefunden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Barcode stimmt nicht mit einem vorhandenen Lagerartikel überein"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Lagerartikel stimmt nicht mit dem Element überein"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Unzureichender Bestand verfügbar"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Lagerartikel der Bestellung zugeordnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Nicht genügend Informationen"
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr "Unterstützt das Scannen von TME-Barcodes"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "Der Lieferant, der als 'TME' fungiert"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr "Nur Mitarbeiter können Plugins verwalten"
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr "Plugin-Installation ist deaktiviert"
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Plugin wurde erfolgreich installiert"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Plugin installiert in {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr "Plugin wurde nicht in der Registry gefunden"
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr "Plugin ist kein gepacktes Plugin"
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr "Plugin-Paketname nicht gefunden"
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr "Plugin-Deinstallation ist deaktiviert"
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr "Plugin kann nicht deinstalliert werden, da es momentan aktiv ist"
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr "Plugin erfolgreich deinstallieren"
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Plugin"
|
||||
msgid "Method"
|
||||
msgstr "Methode"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Kein Autor gefunden"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "Plugin '{p}' ist nicht kompatibel mit der aktuellen InvenTree Version {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "Plugin benötigt mindestens Version {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "Plugin benötigt maximal Version {v}"
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Greek\n"
|
||||
"Language: el_GR\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Ο παρεχόμενος τομέας ηλεκτρονικού ταχυ
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Η εγγραφή είναι απενεργοποιημένη."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Η μονάδα μέτρησης δεν είναι έγκυρη ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Δεν εισήχθη τιμή"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Δεν ήταν δυνατή η μετατροπή από {original} σε {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Μη έγκυρη ποσότητα"
|
||||
@ -612,7 +612,7 @@ msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Άγνωστη βάση δεδομένων"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Επιστροφή χρημάτων"
|
||||
msgid "Reject"
|
||||
msgstr "Απόρριψη"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-31 12:14+0000\n"
|
||||
"POT-Creation-Date: 2025-01-05 03:59+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@ -70,21 +70,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -613,7 +613,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2061,37 +2061,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4593,7 +4593,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4956,20 +4956,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6296,11 +6296,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6317,83 +6317,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6761,52 +6761,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6862,21 +6862,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish\n"
|
||||
"Language: es_ES\n"
|
||||
@ -69,21 +69,21 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registro deshabilitado."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unidad proporcionada no válida ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ningún valor proporcionado"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "No se pudo convertir {original} a {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Cantidad proporcionada no válida"
|
||||
@ -612,7 +612,7 @@ msgstr "La descarga de imágenes desde la URL remota no está habilitada"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Error al descargar la imagen desde la URL remota"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Base de datos desconocida"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Resultado"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "¿El escaneo de código de barras fue exitoso?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nuevo {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Se ha creado un nuevo pedido y se le ha asignado"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} cancelado"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Artículos Recibidos"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Los artículos han sido recibidos contra una orden de compra"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Los artículos han sido recibidos contra una orden de devolución"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Error generado por el complemento"
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "La orden de venta no coincide con el envío"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "El envío no coincide con el pedido de venta"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Reembolso"
|
||||
msgid "Reject"
|
||||
msgstr "Rechazo"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Orden de compra atrasada"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "La orden de compra {po} está atrasada"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Orden de venta atrasada"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "La orden de venta {so} está atrasada"
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notificación por bajo stock"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado"
|
||||
@ -6316,83 +6316,83 @@ msgstr "No se especificó ninguna acción"
|
||||
msgid "No matching action found"
|
||||
msgstr "No se encontró ninguna acción coincidente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "No se encontró ninguna coincidencia para los datos del código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Coincidencia encontrada para datos de códigos de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "El código de barras coincide con artículo existente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "No se ha encontrado ningún complemento para datos de código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "Ningún pedido de venta proporcionado"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr "El complemento no está instalado"
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr "Instalación del complemento no encontrada"
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Complemento"
|
||||
msgid "Method"
|
||||
msgstr "Método"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "No se encontró autor"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "El complemento requiere al menos la versión {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "El complemento requiere como máximo la versión {v}"
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Spanish, Mexico\n"
|
||||
"Language: es_MX\n"
|
||||
@ -69,21 +69,21 @@ msgstr "El dominio de correo electrónico proporcionado no está aprobado."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registro deshabilitado."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unidad proporcionada no válida ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ningún valor proporcionado"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "No se pudo convertir {original} a {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Cantidad proporcionada no válida"
|
||||
@ -612,7 +612,7 @@ msgstr "La descarga de imágenes desde la URL remota no está habilitada"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Error al descargar la imagen desde la URL remota"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Base de datos desconocida"
|
||||
|
||||
@ -647,11 +647,11 @@ msgstr "Construcción o Armado Superior"
|
||||
#: build/api.py:67 build/api.py:694 order/api.py:432 order/api.py:649
|
||||
#: order/api.py:1047 order/api.py:1267 stock/api.py:491
|
||||
msgid "Include Variants"
|
||||
msgstr ""
|
||||
msgstr "Incluye Variantes"
|
||||
|
||||
#: build/api.py:99
|
||||
msgid "Ancestor Build"
|
||||
msgstr ""
|
||||
msgstr "Construir antepasado"
|
||||
|
||||
#: build/api.py:119 order/api.py:100
|
||||
msgid "Assigned to me"
|
||||
@ -1734,7 +1734,7 @@ msgstr "Archivo de imagen"
|
||||
|
||||
#: common/models.py:1640 common/models.py:1841
|
||||
msgid "Target model type for this image"
|
||||
msgstr ""
|
||||
msgstr "Tipo de modelo destino para esta imagen"
|
||||
|
||||
#: common/models.py:1644
|
||||
msgid "Target model ID for this image"
|
||||
@ -1815,7 +1815,7 @@ msgstr "Tamaño del archivo en bytes"
|
||||
|
||||
#: common/models.py:1924 common/serializers.py:630
|
||||
msgid "Invalid model type specified for attachment"
|
||||
msgstr ""
|
||||
msgstr "Tipo de modelo no válido especificado para el archivo adjunto"
|
||||
|
||||
#: common/models.py:1945
|
||||
msgid "Custom State"
|
||||
@ -1827,11 +1827,11 @@ msgstr "Estados personalizados"
|
||||
|
||||
#: common/models.py:1951
|
||||
msgid "Reference Status Set"
|
||||
msgstr ""
|
||||
msgstr "Conjunto de estado de referencia"
|
||||
|
||||
#: common/models.py:1952
|
||||
msgid "Status set that is extended with this custom state"
|
||||
msgstr ""
|
||||
msgstr "Conjunto de estado extendido con este estado personalizado"
|
||||
|
||||
#: common/models.py:1956 generic/states/serializers.py:18
|
||||
msgid "Logical Key"
|
||||
@ -1839,7 +1839,7 @@ msgstr "Llave lógica"
|
||||
|
||||
#: common/models.py:1958
|
||||
msgid "State logical key that is equal to this custom state in business logic"
|
||||
msgstr ""
|
||||
msgstr "Clave lógica del estado que es igual a este estado personalizado en la lógica de negocios"
|
||||
|
||||
#: common/models.py:1963 common/models.py:2202 company/models.py:595
|
||||
#: report/templates/report/inventree_test_report.html:104 stock/models.py:2740
|
||||
@ -1848,7 +1848,7 @@ msgstr "Valor"
|
||||
|
||||
#: common/models.py:1964
|
||||
msgid "Numerical value that will be saved in the models database"
|
||||
msgstr ""
|
||||
msgstr "Valor numérico que se guardará en la base de datos de modelos"
|
||||
|
||||
#: common/models.py:1970
|
||||
msgid "Name of the state"
|
||||
@ -1877,7 +1877,7 @@ msgstr "Modelo"
|
||||
|
||||
#: common/models.py:1997
|
||||
msgid "Model this state is associated with"
|
||||
msgstr ""
|
||||
msgstr "Modelo con el que este estado está asociado"
|
||||
|
||||
#: common/models.py:2012
|
||||
msgid "Model must be selected"
|
||||
@ -1893,15 +1893,15 @@ msgstr "La clave lógica debe ser seleccionada"
|
||||
|
||||
#: common/models.py:2022
|
||||
msgid "Key must be different from logical key"
|
||||
msgstr ""
|
||||
msgstr "La clave debe ser distinta de la clave lógica"
|
||||
|
||||
#: common/models.py:2029
|
||||
msgid "Valid reference status class must be provided"
|
||||
msgstr ""
|
||||
msgstr "Debe proporcionarse una clase de estado de referencia válida"
|
||||
|
||||
#: common/models.py:2035
|
||||
msgid "Key must be different from the logical keys of the reference status"
|
||||
msgstr ""
|
||||
msgstr "La clave debe ser distinta de las claves lógicas del estado de referencia"
|
||||
|
||||
#: common/models.py:2042
|
||||
msgid "Logical key must be in the logical keys of the reference status"
|
||||
@ -2060,37 +2060,37 @@ msgstr "Resultado"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "¿El escaneo de código de barras fue exitoso?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nuevo {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Se ha creado un nuevo pedido y se le ha asignado"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} cancelado"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Artículos Recibidos"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Los artículos han sido recibidos contra una orden de compra"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Los artículos han sido recibidos contra una orden de devolución"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Error generado por el complemento"
|
||||
|
||||
@ -2823,11 +2823,11 @@ msgstr "Mostrar los artículos de stock instalados en las tablas de stock"
|
||||
|
||||
#: common/setting/system.py:692
|
||||
msgid "Check BOM when installing items"
|
||||
msgstr ""
|
||||
msgstr "Revisar BOM al instalar artículos"
|
||||
|
||||
#: common/setting/system.py:694
|
||||
msgid "Installed stock items must exist in the BOM for the parent part"
|
||||
msgstr ""
|
||||
msgstr "Los elementos de stock instalados deben existir en la BOM para la parte padre"
|
||||
|
||||
#: common/setting/system.py:700
|
||||
msgid "Allow Out of Stock Transfer"
|
||||
@ -4592,7 +4592,7 @@ msgstr "La cantidad debe ser 1 para el stock serializado"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "La orden de venta no coincide con el envío"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "El envío no coincide con el pedido de venta"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Reembolso"
|
||||
msgid "Reject"
|
||||
msgstr "Rechazo"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Orden de compra atrasada"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "La orden de compra {po} está atrasada"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Orden de venta atrasada"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "La orden de venta {so} está atrasada"
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notificación por bajo stock"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "El stock disponible para {part.name} ha caído por debajo del nivel mínimo configurado"
|
||||
@ -6316,83 +6316,83 @@ msgstr "No se especificó ninguna acción"
|
||||
msgid "No matching action found"
|
||||
msgstr "No se encontró ninguna acción coincidente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "No se encontró ninguna coincidencia para los datos del código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Coincidencia encontrada para datos de códigos de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "El código de barras coincide con artículo existente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "No se ha encontrado ningún complemento para datos de código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr "Ningún complemento coincide con el código de barras del proveedor"
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "Ningún pedido de venta proporcionado"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr "El complemento no está instalado"
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr "Instalación del complemento no encontrada"
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Complemento"
|
||||
msgid "Method"
|
||||
msgstr "Método"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "No se encontró autor"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "El complemento requiere al menos la versión {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "El complemento requiere como máximo la versión {v}"
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Estonian\n"
|
||||
"Language: et_EE\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registreerimine on ajutiselt väljalülitatud."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ei tohi tühi olla"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Tundmatu andmebaas"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Persian\n"
|
||||
"Language: fa_IR\n"
|
||||
@ -69,21 +69,21 @@ msgstr "دامنه ایمیل ارائه شده تایید نشده است."
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "مقداری افزوده نشده"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr "هیچ عملیات کاربر-محوری، مشخص نشده است"
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Finnish\n"
|
||||
"Language: fi_FI\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Annetun sähköpostiosoitteen verkkotunnusta ei hyväksytä."
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Arvoa ei annettu"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Annettu määrä on virheellinen"
|
||||
@ -612,7 +612,7 @@ msgstr "Kuvien lataaminen ei ole käytössä"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Uusi {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-31 01:37\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: French\n"
|
||||
"Language: fr_FR\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Le domaine e-mail fourni n'est pas approuvé."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "L'enregistrement est désactivé."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unité fournie invalide ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Pas de valeur renseignée"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Impossible de convertir {original} en {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Quantité fournie invalide"
|
||||
@ -612,7 +612,7 @@ msgstr "Le téléchargement des images depuis une URL distante n'est pas activé
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Base de données inconnue"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Résultat"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nouveau {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Une nouvelle commande a été créée et vous a été assignée"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} annulé"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Une commande qui vous est assignée a été annulée"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Articles reçus"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Des articles d'un bon de commande ont été reçus"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Erreur déclenchée par le plugin"
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Remboursement"
|
||||
msgid "Reject"
|
||||
msgstr "Refuser"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notification de stock faible"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Le stock disponible pour {part.name}, est tombé en dessous du niveau minimum configuré"
|
||||
@ -6316,83 +6316,83 @@ msgstr "Aucune action spécifiée"
|
||||
msgid "No matching action found"
|
||||
msgstr "Aucune action correspondante trouvée"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Aucune correspondance trouvée pour les données du code-barres"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Correspondance trouvée pour les données du code-barres"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Extension"
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hebrew\n"
|
||||
"Language: he_IL\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "סופקה יחידה שלא קיימת ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "לא צוין ערך"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr "לא פורטה הפעולה"
|
||||
msgid "No matching action found"
|
||||
msgstr "פעולה מבוקשת לא נמצאה"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hindi\n"
|
||||
"Language: hi_IN\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Hungarian\n"
|
||||
"Language: hu_HU\n"
|
||||
@ -69,21 +69,21 @@ msgstr "A megadott email domain nincs jóváhagyva."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Regisztráció le van tiltva."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Érvénytelen mennyiségi egység ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nincs érték megadva"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "{original} átváltása {unit}-ra sikertelen"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Nem megfelelő mennyiség"
|
||||
@ -612,7 +612,7 @@ msgstr "Képek letöltése távoli URL-ről nem engedélyezett"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Ismeretlen adatbázis"
|
||||
|
||||
@ -2061,37 +2061,37 @@ msgstr "Eredmény"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Új {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Egy új megrendelés létrehozva, és hozzád rendelve"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} megszakítva"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Egy hozzád rendelt megrendelés megszakítva"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Készlet érkezett"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Készlet érkezett egy beszerzési megrendeléshez"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Készlet érkezett vissza egy visszavétel miatt"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Plugin hiba"
|
||||
|
||||
@ -4593,7 +4593,7 @@ msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Vevői rendelés nem egyezik a szállítmánnyal"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Szállítmány nem egyezik a vevői rendeléssel"
|
||||
|
||||
@ -4956,20 +4956,20 @@ msgstr "Visszatérítés"
|
||||
msgid "Reject"
|
||||
msgstr "Elutasított"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Késésben lévő beszerzés"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "A {po} beszerzési rendelés most már késésben van"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Késésben lévő vevői rendelés"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "A {so} vevői rendelés most már késésben van"
|
||||
@ -6296,11 +6296,11 @@ msgstr "Leltár riport rendelkezésre áll"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Egy új leltár riport készen áll a letöltésre"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Alacsony készlet értesítés"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "A {part.name} alkatrész rendelkezésre álló készlete a megadott minimum alá csökkent"
|
||||
@ -6317,83 +6317,83 @@ msgstr "Nincs megadva művelet"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nincs egyező művelet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Nincs egyező vonalkód"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Egyezés vonalkódra"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr "Model nem támogatott"
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr "Model példány hiányzik"
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Ez a vonalkód már egy másik tételé"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Nem található megfelelő alkatrész adat"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Nem található megfelelő beszállítói alkatrész"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Több beszállítói alkatrész található"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Beszállítói alkatrész található"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Ez a termék már bevételezve"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "Több egyező sortétel is található"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "Nincs egyező sortétel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Vonalkód nem egyezik egy létező készlet tétellel sem"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Készlet tétel nem egyezik a sortétellel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Nincs elegendő"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Készlet tétel lefoglalva egy vevői rendeléshez"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Nincs elég információ"
|
||||
|
||||
@ -6761,52 +6761,52 @@ msgstr "TME vonalkódok támogatása"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "A 'TME' beszállító"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr "Csak a személyzeti felhasználók adminisztrálhatják a pluginokat"
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr "Plugin telepítés letiltva"
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Plugin telepítése sikeres"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Plugin telepítve ide: {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr "Ez a plugin nem található a tárolóban"
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr "A plugin nem egy csomagolt plugin"
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr "Plugin csomag neve nem található"
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr "Plugin eltávolítás letiltva"
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr "Plugin nem eltávolítható mivel még aktív"
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr "Plugin eltávolítása sikeres"
|
||||
|
||||
@ -6862,21 +6862,21 @@ msgstr "Bővítmény"
|
||||
msgid "Method"
|
||||
msgstr "Módszer"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Nincs szerző"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "A pluginhoz minimum {v} verzió kell"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "A pluginhoz maximum {v} verzió kell"
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Indonesian\n"
|
||||
"Language: id_ID\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Domain surel yang diberikan tidak perbolehkan."
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nilai tidak tersedia"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Jumlah yang diberikan tidak valid"
|
||||
@ -612,7 +612,7 @@ msgstr "Unduhan gambar dari URL external tidak aktif"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Barang diterima"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr "Tolak"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr "Tidak ada tindakan yang ditentukan"
|
||||
msgid "No matching action found"
|
||||
msgstr "Aksi tidak ditemukan"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Tidak cukup informasi"
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Italian\n"
|
||||
"Language: it_IT\n"
|
||||
@ -69,21 +69,21 @@ msgstr "L'indirizzo di posta elettronica fornito non è approvato."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "La registrazione è disabilitata."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unità fornita non valida ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nessun valore specificato"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Impossibile convertire {original} in {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Quantità inserita non valida"
|
||||
@ -612,7 +612,7 @@ msgstr "Il download delle immagini da URL remoto non è abilitato"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Impossibile scaricare l'immagine dall'URL remoto"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Database sconosciuto"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Risultato"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "La scansione del codice a barre è riuscita?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nuovo {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Un nuovo ordine è stato creato e assegnato a te"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Elemento ricevuto"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Gli elementi sono stati ricevuti a fronte di un ordine di acquisto"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Errore generato dal plugin"
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "La quantità deve essere 1 per l'elemento serializzato"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "L'ordine di vendita non corrisponde alla spedizione"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "La spedizione non corrisponde all'ordine di vendita"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Rimborso"
|
||||
msgid "Reject"
|
||||
msgstr "Rifiuta"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Ordine D'Acquisto in ritardo"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "L'ordine d'acquisto {po} è in ritardo"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Ordini Di Vendita in ritardo"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "L'ordine di vendita {so} è ora in ritardo"
|
||||
@ -6295,11 +6295,11 @@ msgstr "Report Inventario Disponibile"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Un nuovo report di inventario è disponibile per il download"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notifica di magazzino bassa"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Lo stock disponibile per {part.name} è sceso sotto il livello minimo configurato"
|
||||
@ -6316,83 +6316,83 @@ msgstr "Nessuna azione specificata"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nessuna azione corrispondente trovata"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Nessuna corrispondenza trovata per i dati del codice a barre"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Corrispondenza trovata per i dati del codice a barre"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Il codice a barre corrisponde a un elemento esistente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "Nessuna plugin corrispondente trovato per i dati del codice a barre"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "Nessun ordine di vendita fornito"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Scorte insufficienti disponibili"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr "Metodo"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Nessun autore trovato"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-28 21:49\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Korean\n"
|
||||
"Language: ko_KR\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-28 21:49\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Lithuanian\n"
|
||||
"Language: lt_LT\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Latvian\n"
|
||||
"Language: lv_LV\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Norādītais e-pasta domēns nav apstiprināts."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Reģistrācija ir izslēgta."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Norādīta nederīga vienība ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nav norādīta vērtība"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Nevarēja konvertēt {original} par {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Norādītais daudzums nav derīgs"
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Dutch\n"
|
||||
"Language: nl_NL\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Het ingevoerde e-maildomein is niet goedgekeurd."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registratie is uitgeschakeld."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Ongeldige eenheid opgegeven ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Geen waarde opgegeven"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "{original} kon niet worden omgezet naar {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Ongeldige hoeveelheid ingevoerd"
|
||||
@ -612,7 +612,7 @@ msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Fout bij het downloaden van afbeelding van externe URL"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Onbekende database"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Resultaat"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr "Was de barcode succesvol gescand?"
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Nieuw: {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Een nieuwe order is aangemaakt en aan u toegewezen"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Artikelen zijn ontvangen tegen een inkooporder"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Verkooporder komt niet overeen met zending"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Verzending komt niet overeen met verkooporder"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Restitutie"
|
||||
msgid "Reject"
|
||||
msgstr "Afwijzen"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Achterstallige inkooporder"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Inkooporder {po} is nu achterstallig"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Achterstallige Verkooporder"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Verkooporder {so} is nu achterstallig"
|
||||
@ -6295,11 +6295,11 @@ msgstr "Voorraadcontrole rapport beschikbaar"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Een nieuwe voorraadrapportage is beschikbaar voor download"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Lage voorraad melding"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "De beschikbare voorraad voor {part.name} is onder het ingestelde minimumniveau gedaald"
|
||||
@ -6316,83 +6316,83 @@ msgstr "Geen actie gespecificeerd"
|
||||
msgid "No matching action found"
|
||||
msgstr "Geen overeenkomende actie gevonden"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Geen overeenkomst gevonden voor streepjescodegegevens"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Overeenkomst gevonden voor streepjescodegegevens"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr "Geen overeenkomende plug-in gevonden voor barcode gegevens"
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr "Geen verkooporder opgegeven"
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Streepjescode komt niet overeen met een bestaand voorraadartikel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Voorraad item komt niet overeen met regelitem"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Onvoldoende voorraad beschikbaar"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Voorraad item toegewezen aan verkooporder"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Norwegian\n"
|
||||
"Language: no_NO\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Det oppgitte e-postdomenet er ikke godkjent."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrering er deaktivert."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Ugyldig enhet angitt ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Ingen verdi angitt"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Kunne ikke konvertere {original} til {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Ugyldig mengde oppgitt"
|
||||
@ -612,7 +612,7 @@ msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Ukjent database"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Resultat"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Ny {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "En ny ordre har blitt opprettet og tilordnet til deg"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} kansellert"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "En ordre som er tildelt til deg ble kansellert"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Artikler mottatt"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Artikler har blitt mottatt mot en innkjøpsordre"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Artikler har blitt mottatt mot en returordre"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Feil oppstått i utvidelse"
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "Antall må være 1 for serialisert lagervare"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Salgsordre samsvarer ikke med forsendelse"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Forsendelsen samsvarer ikke med salgsordre"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Refusjon"
|
||||
msgid "Reject"
|
||||
msgstr "Avvis"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Forfalt Innkjøpsordre"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Innkjøpsordre {po} er nå forfalt"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Forfalt Salgsordre"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Salgsordre {so} er nå forfalt"
|
||||
@ -6295,11 +6295,11 @@ msgstr "Lagertellingsrapport tilgjengelig"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "En ny lagertellingsrapport er tilgjengelig for nedlasting"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Varsel om lav lagerbeholdning"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Tilgjengelig lagerbeholdning for {part.name} har falt under det konfigurerte minimumsnivået"
|
||||
@ -6316,83 +6316,83 @@ msgstr "Ingen handling spesifisert"
|
||||
msgid "No matching action found"
|
||||
msgstr "Ingen samsvarende handling funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Ingen treff funnet for strekkodedata"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Treff funnet for strekkodedata"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Strekkode samsvarer med ekisterende element"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Ingen samsvarende del-data funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Finner ingen matchende leverandørdeler"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Flere samsvarende leverandørdeler funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Fant leverandørdel"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Artikkelen er allerede mottatt"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "Flere samsvarende elementer funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "Ingen samsvarende element funnet"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Strekkoden samsvarer ikke med eksisterende lagervare"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Lagervare samsvarer ikke med linjeelement"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Utilstrekkelig lagerbeholdning"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Lagervaren er tildelt en salgsordre"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Ikke nok informasjon"
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr "Gir støtte for å skanne TME-strekkoder"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "Leverandøren som fungerer som \"TME\""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Installasjon av utvidelse vellykket"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Installerte utvidelsen til {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Utvidelse"
|
||||
msgid "Method"
|
||||
msgstr "Metode"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Ingen forfatter funnet"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "Utvidensen '{p}' er ikke kompatibel med nåværende InvenTree-versjon {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "Utvidelsen krever minst versjon {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "Utvidelsen krever maks versjon {v}"
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Polish\n"
|
||||
"Language: pl_PL\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Podany e-mail domeny nie został zatwierdzony."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Rejestracja jest wyłączona."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Nieprawidłowa jednostka ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nie podano wartości"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Nie udało się przeliczyć {original} na {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Podano nieprawidłową ilość"
|
||||
@ -612,7 +612,7 @@ msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Nieznana baza danych"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Wynik"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Zwrot pieniędzy"
|
||||
msgid "Reject"
|
||||
msgstr "Odrzuć"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Zaległe zlecenie zakupu"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Zlecenie zakupu {po} jest teraz zaległe"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr "Nie określono działania"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nie znaleziono pasującej akcji"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Nie znaleziono wyników dla danych kodu kreskowego"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Znaleziono wyniki dla danych kodu kreskowego"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Kod kreskowy pasuje do istniejącego elementu"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Kod kreskowy nie pasuje do istniejących pozycji magazynowych"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Wtyczka"
|
||||
msgid "Method"
|
||||
msgstr "Metoda"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Nie znaleziono autora"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese\n"
|
||||
"Language: pt_PT\n"
|
||||
@ -69,21 +69,21 @@ msgstr "O domínio de e-mail providenciado não foi aprovado."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Cadastro está desativado."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Unidade inválida fornecida ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nenhum valor fornecido"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Não foi possível converter {original} para {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Quantidade fornecida inválida"
|
||||
@ -612,7 +612,7 @@ msgstr "Baixar imagens de URL remota não está habilitado"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Banco de dados desconhecido"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Resultado"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Novo {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Um novo pedido foi criado e atribuído a você"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} cancelado"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Um pedido atribuído a você foi cancelado"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Itens Recebidos"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Os itens de um pedido de compra foram recebidos"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Os itens de um pedido de devolução foram recebidos"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Erro criado pela extensão"
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "Quantidade deve ser 1 para item de estoque serializado"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr "Pedidos de venda não coincidem com a remessa"
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Remessa não coincide com pedido de venda"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Reembolsar"
|
||||
msgid "Reject"
|
||||
msgstr "Recusar"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Pedido de compra vencido"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Pedido de compra {po} está atrasada"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Pedido de venda vencido"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Pedido de venda {so} está atrasada"
|
||||
@ -6295,11 +6295,11 @@ msgstr "Balanço de Estoque Disponível"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Um novo relatório de balanço do estoque está disponível para baixar"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Notificação de estoque baixo"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "O estoque disponível para {part.name} caiu abaixo do nível mínimo definido"
|
||||
@ -6316,83 +6316,83 @@ msgstr "Nenhuma ação especificada"
|
||||
msgid "No matching action found"
|
||||
msgstr "Nenhuma ação correspondente encontrada"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Nenhum resultado encontrado para os dados do código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Coincidência encontrada para dados de código de barras"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Código de barras corresponde ao item existente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Nenhuma informação de peça correspondente encontrada"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Nenhuma peça de fornecedor correspondente encontrada"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Múltiplas peças de fornecedores correspondentes encontradas"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Peça de fornecedor correspondente"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Item do pedido já foi recebido"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr "Diversos itens de linha correspondentes encontrados"
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr "Nenhum item de linha correspondente encontrado"
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Código de barras não corresponde a item de estoque válido"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Item do estoque não corresponde ao item de linha"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Estoque insuficiente disponível"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Item de estoque atribuído para pedido de venda"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Não há informação suficiente"
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr "Fornece suporte para escanear códigos de barras TME"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "O fornecedor que atua como 'TME'"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Plugin instalado com sucesso"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Plugin instalado na {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Extensões"
|
||||
msgid "Method"
|
||||
msgstr "Método"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Nenhum autor encontrado"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "Extensão requer pelo menos a versão {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "Extensão requer no máximo a versão {v}"
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Portuguese, Brazilian\n"
|
||||
"Language: pt_BR\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr "Falha ao baixar a imagem da URL remota"
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-28 21:49\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Romanian\n"
|
||||
"Language: ro_RO\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Russian\n"
|
||||
"Language: ru_RU\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Указанный домен электронной почты не у
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Регистрация отключена."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Предоставлено недопустимое значение ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Значение не указано"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Невозможно преобразовать {original} в {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "недопустимое количество"
|
||||
@ -612,7 +612,7 @@ msgstr "Загрузка изображений с удаленного URL-ад
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Неизвестная база данных"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Результат"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Полученные элементы"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "Количество должно быть 1 для сериализир
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Возврат"
|
||||
msgid "Reject"
|
||||
msgstr "Отклонить"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Просроченные заказы на закупку"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Просроченные заказы на продажу"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr "Действие не указано"
|
||||
msgid "No matching action found"
|
||||
msgstr "Соответствующее действие не найдено"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Не найдено совпадений для данных штрих-кода"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Найдено совпадение по штрих-коду"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr "Штрих-код не соответствует существующим складским позициям"
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr "Складская позиция не соответствует позиции"
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr "Складская позиция зарезервирована заказом на продажу"
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Плагин"
|
||||
msgid "Method"
|
||||
msgstr "Метод"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Автор не найден"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-28 21:49\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovak\n"
|
||||
"Language: sk_SK\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr ""
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Slovenian\n"
|
||||
"Language: sl_SI\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Domena epošte ni podprta."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registracija je onemogočena."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Vnesena napačna enota ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Vrednost ni vnesena"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Ni mogoče pretvoriti {original} v {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Podana napačna količina"
|
||||
@ -612,7 +612,7 @@ msgstr "Prenos slik iz oddaljene povezave ni omogočen"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Neznana podatkovna baza"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Serbian (Latin)\n"
|
||||
"Language: sr_CS\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Navedeni domen adrese e-pošte nije prihvaćen."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registracija je onemogućena."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Nije navedena vrednost"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Nije moguće konvertovati {original} u {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Isporučena nevažeća količina"
|
||||
@ -612,7 +612,7 @@ msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:03\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Swedish\n"
|
||||
"Language: sv_SE\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Den angivna e-postdomänen är inte godkänd."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Registrering är stängd."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Ogiltig enhet angiven ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Inget värde angivet"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Kunde inte konvertera {original} till {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Ogiltigt antal angivet"
|
||||
@ -612,7 +612,7 @@ msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Okänd databas"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Återbetala"
|
||||
msgid "Reject"
|
||||
msgstr "Avvisa"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr "Ingen åtgärd specificerad"
|
||||
msgid "No matching action found"
|
||||
msgstr "Ingen matchande åtgärd hittades"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:04\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Thai\n"
|
||||
"Language: th_TH\n"
|
||||
@ -69,21 +69,21 @@ msgstr ""
|
||||
msgid "Registration is disabled."
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "ปริมาณสินค้าไม่ถูกต้อง"
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:04\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Turkish\n"
|
||||
"Language: tr_TR\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Sağlanan e-posta alanı onaylanmadı."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Kayıt devre dışı."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Geçersiz ürün girildi ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Değer verilmemiş"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "{original} birimi {unit} birimine dönüştürülemedi"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Geçersiz veri sağlandı"
|
||||
@ -612,7 +612,7 @@ msgstr "Uzak URL'den resim indirmek etkinleştirilmedi"
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Bilinmeyen veritabanı"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Yeni {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} iptal edildi"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Size atanmış bir emir iptal edildi"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Alınan Ürünler"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "Seri numaralı stok kalemi için miktar bir olmalı"
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr "İşlem belirtilmedi"
|
||||
msgid "No matching action found"
|
||||
msgstr "Eşleşen eylem bulunamadı"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Barkod verisi için eşleşme bulunamadı"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Barkod verisi için eşleşme bulundu"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:04\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Ukrainian\n"
|
||||
"Language: uk_UA\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Наданий домен електронної пошти не зат
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Реєстрацію вимкнено."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Значення не вказане"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Не вдалося перетворити {original} на {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Невірна кількість"
|
||||
@ -612,7 +612,7 @@ msgstr ""
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr ""
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr ""
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr ""
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr ""
|
||||
msgid "Sales order does not match shipment"
|
||||
msgstr ""
|
||||
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr ""
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr ""
|
||||
msgid "Reject"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr ""
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr ""
|
||||
@ -6295,11 +6295,11 @@ msgstr ""
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr ""
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr ""
|
||||
@ -6316,83 +6316,83 @@ msgstr ""
|
||||
msgid "No matching action found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr ""
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr ""
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr ""
|
||||
msgid "Method"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr ""
|
||||
|
@ -2,8 +2,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: inventree\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-12-28 21:46+0000\n"
|
||||
"PO-Revision-Date: 2024-12-29 06:04\n"
|
||||
"POT-Creation-Date: 2025-01-05 01:50+0000\n"
|
||||
"PO-Revision-Date: 2025-01-05 01:53\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: Vietnamese\n"
|
||||
"Language: vi_VN\n"
|
||||
@ -69,21 +69,21 @@ msgstr "Miền email được cung cấp không được phê duyệt."
|
||||
msgid "Registration is disabled."
|
||||
msgstr "Đăng ký bị vô hiệu hóa."
|
||||
|
||||
#: InvenTree/conversion.py:161
|
||||
#: InvenTree/conversion.py:162
|
||||
#, python-brace-format
|
||||
msgid "Invalid unit provided ({unit})"
|
||||
msgstr "Đơn vị không hợp lệ ({unit})"
|
||||
|
||||
#: InvenTree/conversion.py:178
|
||||
#: InvenTree/conversion.py:179
|
||||
msgid "No value provided"
|
||||
msgstr "Chưa cung cấp giá trị"
|
||||
|
||||
#: InvenTree/conversion.py:205
|
||||
#: InvenTree/conversion.py:206
|
||||
#, python-brace-format
|
||||
msgid "Could not convert {original} to {unit}"
|
||||
msgstr "Không thể chuyển đổi {original} sang {unit}"
|
||||
|
||||
#: InvenTree/conversion.py:207 InvenTree/conversion.py:221
|
||||
#: InvenTree/conversion.py:208 InvenTree/conversion.py:222
|
||||
#: InvenTree/helpers.py:504 order/models.py:592 order/models.py:836
|
||||
msgid "Invalid quantity provided"
|
||||
msgstr "Số lượng cung cấp không hợp lệ"
|
||||
@ -612,7 +612,7 @@ msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bậ
|
||||
msgid "Failed to download image from remote URL"
|
||||
msgstr ""
|
||||
|
||||
#: InvenTree/templatetags/inventree_extras.py:152
|
||||
#: InvenTree/templatetags/inventree_extras.py:153
|
||||
msgid "Unknown database"
|
||||
msgstr "Không rõ cơ sở dữ liệu"
|
||||
|
||||
@ -2060,37 +2060,37 @@ msgstr "Kết quả"
|
||||
msgid "Was the barcode scan successful?"
|
||||
msgstr ""
|
||||
|
||||
#: common/notifications.py:329
|
||||
#: common/notifications.py:330
|
||||
#, python-brace-format
|
||||
msgid "New {verbose_name}"
|
||||
msgstr "Mới {verbose_name}"
|
||||
|
||||
#: common/notifications.py:331
|
||||
#: common/notifications.py:332
|
||||
msgid "A new order has been created and assigned to you"
|
||||
msgstr "Một đơn đặt hàng mới đã được tạo và phân công cho bạn"
|
||||
|
||||
#: common/notifications.py:337
|
||||
#: common/notifications.py:338
|
||||
#, python-brace-format
|
||||
msgid "{verbose_name} canceled"
|
||||
msgstr "{verbose_name} đã bị hủy"
|
||||
|
||||
#: common/notifications.py:339
|
||||
#: common/notifications.py:340
|
||||
msgid "A order that is assigned to you was canceled"
|
||||
msgstr "Một đơn đặt từng được phân công cho bạn đã bị hủy bỏ"
|
||||
|
||||
#: common/notifications.py:345 common/notifications.py:352 order/api.py:476
|
||||
#: common/notifications.py:346 common/notifications.py:353 order/api.py:476
|
||||
msgid "Items Received"
|
||||
msgstr "Mục đã nhận"
|
||||
|
||||
#: common/notifications.py:347
|
||||
#: common/notifications.py:348
|
||||
msgid "Items have been received against a purchase order"
|
||||
msgstr "Hàng đã được nhận theo đơn đặt mua"
|
||||
|
||||
#: common/notifications.py:354
|
||||
#: common/notifications.py:355
|
||||
msgid "Items have been received against a return order"
|
||||
msgstr "Hàng đã nhận theo đơn hàng trả lại"
|
||||
|
||||
#: common/notifications.py:476
|
||||
#: common/notifications.py:477
|
||||
msgid "Error raised by plugin"
|
||||
msgstr "Lỗi được thông báo bởi phần mở rộng"
|
||||
|
||||
@ -4592,7 +4592,7 @@ msgstr "Số lượng phải là 1 cho hàng hóa sêri"
|
||||
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:2076 plugin/base/barcodes/api.py:652
|
||||
#: order/models.py:2076 plugin/base/barcodes/api.py:651
|
||||
msgid "Shipment does not match sales order"
|
||||
msgstr "Vận đơn không phù hợp với đơn bán hàng"
|
||||
|
||||
@ -4955,20 +4955,20 @@ msgstr "Hoàn tiền"
|
||||
msgid "Reject"
|
||||
msgstr "Từ chối"
|
||||
|
||||
#: order/tasks.py:31
|
||||
#: order/tasks.py:32
|
||||
msgid "Overdue Purchase Order"
|
||||
msgstr "Đơn đặt mua quá hạn"
|
||||
|
||||
#: order/tasks.py:36
|
||||
#: order/tasks.py:37
|
||||
#, python-brace-format
|
||||
msgid "Purchase order {po} is now overdue"
|
||||
msgstr "Đơn đặt mua {po} quá hạn"
|
||||
|
||||
#: order/tasks.py:81
|
||||
#: order/tasks.py:82
|
||||
msgid "Overdue Sales Order"
|
||||
msgstr "Đơn bán hàng quá hạn"
|
||||
|
||||
#: order/tasks.py:86
|
||||
#: order/tasks.py:87
|
||||
#, python-brace-format
|
||||
msgid "Sales order {so} is now overdue"
|
||||
msgstr "Đơn bán hàng {so} đã quá hạn"
|
||||
@ -6295,11 +6295,11 @@ msgstr "Báo cáo kiểm kê có sẵn"
|
||||
msgid "A new stocktake report is available for download"
|
||||
msgstr "Có sẵn một báo cáo kiểm kê mới để tải về"
|
||||
|
||||
#: part/tasks.py:37
|
||||
#: part/tasks.py:38
|
||||
msgid "Low stock notification"
|
||||
msgstr "Thông báo sắp hết hàng"
|
||||
|
||||
#: part/tasks.py:39
|
||||
#: part/tasks.py:40
|
||||
#, python-brace-format
|
||||
msgid "The available stock for {part.name} has fallen below the configured minimum level"
|
||||
msgstr "Kho có sẵn cho {part.name} đã mất dưới mức cấu hình tối thiểu"
|
||||
@ -6316,83 +6316,83 @@ msgstr "Chưa chỉ ra hành động cụ thể"
|
||||
msgid "No matching action found"
|
||||
msgstr "Không tìm thấy chức năng phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:211
|
||||
#: plugin/base/barcodes/api.py:210
|
||||
msgid "No match found for barcode data"
|
||||
msgstr "Không tìm thấy dữ liệu mã vạch phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:215
|
||||
#: plugin/base/barcodes/api.py:214
|
||||
msgid "Match found for barcode data"
|
||||
msgstr "Đã tìm thấy dữ liệu mã vạch phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:253 plugin/base/barcodes/serializers.py:73
|
||||
#: plugin/base/barcodes/api.py:252 plugin/base/barcodes/serializers.py:73
|
||||
msgid "Model is not supported"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:258
|
||||
#: plugin/base/barcodes/api.py:257
|
||||
msgid "Model instance not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:287
|
||||
#: plugin/base/barcodes/api.py:286
|
||||
msgid "Barcode matches existing item"
|
||||
msgstr "Mã vạch phù hợp với hàng hóa hiện có"
|
||||
|
||||
#: plugin/base/barcodes/api.py:428
|
||||
#: plugin/base/barcodes/api.py:427
|
||||
msgid "No matching part data found"
|
||||
msgstr "Không tìm thấy thông tin sản phẩm phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:444
|
||||
#: plugin/base/barcodes/api.py:443
|
||||
msgid "No matching supplier parts found"
|
||||
msgstr "Không tìm thấy sản phẩm nhà cung cấp phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:447
|
||||
#: plugin/base/barcodes/api.py:446
|
||||
msgid "Multiple matching supplier parts found"
|
||||
msgstr "Tìm thấy nhiều sản phẩm nhà cung cấp phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:460 plugin/base/barcodes/api.py:687
|
||||
#: plugin/base/barcodes/api.py:459 plugin/base/barcodes/api.py:686
|
||||
msgid "No matching plugin found for barcode data"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:470
|
||||
#: plugin/base/barcodes/api.py:469
|
||||
msgid "Matched supplier part"
|
||||
msgstr "Sản phẩm nhà cung cấp phù hợp"
|
||||
|
||||
#: plugin/base/barcodes/api.py:538
|
||||
#: plugin/base/barcodes/api.py:537
|
||||
msgid "Item has already been received"
|
||||
msgstr "Hàng hóa này đã được nhận"
|
||||
|
||||
#: plugin/base/barcodes/api.py:586
|
||||
#: plugin/base/barcodes/api.py:585
|
||||
msgid "No plugin match for supplier barcode"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:635
|
||||
#: plugin/base/barcodes/api.py:634
|
||||
msgid "Multiple matching line items found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:638
|
||||
#: plugin/base/barcodes/api.py:637
|
||||
msgid "No matching line item found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:684
|
||||
#: plugin/base/barcodes/api.py:683
|
||||
msgid "No sales order provided"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:693
|
||||
#: plugin/base/barcodes/api.py:692
|
||||
msgid "Barcode does not match an existing stock item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:709
|
||||
#: plugin/base/barcodes/api.py:708
|
||||
msgid "Stock item does not match line item"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:739
|
||||
#: plugin/base/barcodes/api.py:738
|
||||
msgid "Insufficient stock available"
|
||||
msgstr "Kho không đủ hạn mức khả dụng"
|
||||
|
||||
#: plugin/base/barcodes/api.py:752
|
||||
#: plugin/base/barcodes/api.py:751
|
||||
msgid "Stock item allocated to sales order"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/base/barcodes/api.py:755
|
||||
#: plugin/base/barcodes/api.py:754
|
||||
msgid "Not enough information"
|
||||
msgstr "Không đủ thông tin"
|
||||
|
||||
@ -6760,52 +6760,52 @@ msgstr "Cung cấp khả năng quét mã vạch TME"
|
||||
msgid "The Supplier which acts as 'TME'"
|
||||
msgstr "Nhà cung cấp hoạt động như 'TME'"
|
||||
|
||||
#: plugin/installer.py:228 plugin/installer.py:306
|
||||
#: plugin/installer.py:229 plugin/installer.py:307
|
||||
msgid "Only staff users can administer plugins"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:231
|
||||
#: plugin/installer.py:232
|
||||
msgid "Plugin installation is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:268
|
||||
#: plugin/installer.py:269
|
||||
msgid "Installed plugin successfully"
|
||||
msgstr "Cài đặt phần mở rộng thành công"
|
||||
|
||||
#: plugin/installer.py:273
|
||||
#: plugin/installer.py:274
|
||||
#, python-brace-format
|
||||
msgid "Installed plugin into {path}"
|
||||
msgstr "Cài đặt phần bổ sung đến {path}"
|
||||
|
||||
#: plugin/installer.py:297
|
||||
#: plugin/installer.py:298
|
||||
msgid "Plugin was not found in registry"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:300
|
||||
#: plugin/installer.py:301
|
||||
msgid "Plugin is not a packaged plugin"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:303
|
||||
#: plugin/installer.py:304
|
||||
msgid "Plugin package name not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:323
|
||||
#: plugin/installer.py:324
|
||||
msgid "Plugin uninstalling is disabled"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:327
|
||||
#: plugin/installer.py:328
|
||||
msgid "Plugin cannot be uninstalled as it is currently active"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:331
|
||||
#: plugin/installer.py:332
|
||||
msgid "Plugin is not installed"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:347
|
||||
#: plugin/installer.py:348
|
||||
msgid "Plugin installation not found"
|
||||
msgstr ""
|
||||
|
||||
#: plugin/installer.py:362
|
||||
#: plugin/installer.py:363
|
||||
msgid "Uninstalled plugin successfully"
|
||||
msgstr ""
|
||||
|
||||
@ -6861,21 +6861,21 @@ msgstr "Phần bổ sung"
|
||||
msgid "Method"
|
||||
msgstr "Phương thức"
|
||||
|
||||
#: plugin/plugin.py:275
|
||||
#: plugin/plugin.py:276
|
||||
msgid "No author found"
|
||||
msgstr "Không tìm thấy tác giả"
|
||||
|
||||
#: plugin/registry.py:538
|
||||
#: plugin/registry.py:539
|
||||
#, python-brace-format
|
||||
msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}"
|
||||
msgstr "Phần bổ sung '{p}' không tương thích với phiên bản InvenTree hiện tại {v}"
|
||||
|
||||
#: plugin/registry.py:541
|
||||
#: plugin/registry.py:542
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at least version {v}"
|
||||
msgstr "Phần bổ sung yêu cầu ít nhất phiên bản {v}"
|
||||
|
||||
#: plugin/registry.py:543
|
||||
#: plugin/registry.py:544
|
||||
#, python-brace-format
|
||||
msgid "Plugin requires at most version {v}"
|
||||
msgstr "Phần bổ sung yêu cầu tối đa phiên bản {v}"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user